node.jsはバージョンの違いで、expressやsocket.ioが使えなかったりします。またこれらのバージョンもしかりです。その度にnode.jsのバージョンの上げ下げを実行するのは手間がかかります。そこで、コマンド1つでnode.jsのバージョンを切り替えることができる、Node Version Managerのnvmというのを使います。さらにこのnvmが便利なのは、npm(Node Packege Manager)のパスも通るので、node.jsのバージョンを切り替えた後も楽です。今回は簡単にnvmのインストールの方法から、設定と使い方まで紹介します。

nvmをインストールする

インストールにはgitを使います。

$ git clone git://github.com/creationix/nvm.git ~/.nvm

git便利ですね。

nvmコマンドを使えるようにしておく

$ source ~/.nvm/nvm.sh
$ nvm version
    v0.8.4

この1行目を実行しておかないと、nvmコマンドが使えません。versionはv0.8.4がインストールされているのがわかりました。

node.jsのバージョンをインストールする

$ nvm install v0.6.11

インストールには時間が多少かかるので待ちます。

$ nvm use v0.6.11
$ nvm alias default v0.6.11
$ node -v
v0.6.11

node.jsのバージョンが切り替わりましたね。もう1つ、2012年7月31日時点での安定版、v0.8.4をインストールしてみましょう。

$ nvm install v0.8.4
 
//待ちます。
 
$ nvm use v0.8,4
$ nvm ls
v0.6.11  v0.8.4
current:    v0.8.4
default -> v0.6.11

lsを使うと、nvmでインストールされたバージョンの一覧が表示されます。currentは現在使っているバージョンです。defaultはそのままでデフォルトで使われるバージョンです。つまり、ターミナルを閉じたりログアウトすると、defaultのバージョンに戻ります。デフォルトで使うnode.jsのバージョンをv0.8.4にしてみましょう。

$ nvm alias default v0.8.4
default -> v0.8.4
$ nvm ls
v0.6.11 v0.8.4
current:    v0.8.4
default -> v0.8.4

あと、同じように、nvmコマンドも切れてしまうので、ターミナルを開く度に source ~/.node/nvm.sh をしなければなりません。

それを回避する方法

~/.zshenv ~/.bash_profile ~/.zshrc などに下記を追記すると、ターミナル起動時にnvmコマンドが使えるようになります。

# nvm
if [[ -s /Users/ホームディレクトリ/.nvm/nvm.sh ]] ; then source /Users/ホームディレクトリ/.nvm/nvm.sh ; fi