nvm の新機能

今年も Node.js のユーザーカンファレンス「東京Node学園祭」が11月18日 (あと16日後)に開催されます。楽しみですねー。
以下、アドベントカレンダーの参加記事(19日目)になります。

nvm の新機能

nvm は Node.js をバージョン毎にインストールできる便利なツールです。先月、いくつか機能が追加されたので、そちらを紹介したいと思います。

インストール用ファイル

以前は nvm をインストールする時、github から git clone で取ってきて、手動で nvm.sh を実行したり .bash_profile を編集したりと面倒だったのですが、今はコンソールからコマンド一発でインストールできます。

curl https://raw.github.com/creationix/nvm/master/install.sh | sh

上のコマンドでインストールから .bash_profile の設定まで自動でやってくれます。

ls-remote

公開されている Node.js のバージョンを確認できます。

$ nvm ls-remote
   v0.1.14     v0.1.96      v0.4.1      v0.6.3      v0.7.7
   v0.1.15     v0.1.97      v0.4.2      v0.6.4      v0.7.8
   v0.1.16     v0.1.98      v0.4.3      v0.6.5      v0.7.9
   v0.1.17     v0.1.99      v0.4.4      v0.6.6     v0.7.10
   v0.1.18    v0.1.100      v0.4.5      v0.6.7     v0.7.11
   v0.1.19    v0.1.101      v0.4.6      v0.6.8     v0.7.12
   v0.1.20    v0.1.102      v0.4.7      v0.6.9      v0.8.0
   v0.1.21    v0.1.103      v0.4.8     v0.6.10      v0.8.1
   v0.1.22    v0.1.104      v0.4.9     v0.6.11      v0.8.2
   v0.1.23      v0.2.0     v0.4.10     v0.6.12      v0.8.3
   v0.1.24      v0.2.1     v0.4.11     v0.6.13      v0.8.4
   v0.1.25      v0.2.2     v0.4.12     v0.6.14      v0.8.5
   v0.1.26      v0.2.3      v0.5.0     v0.6.15      v0.8.6
   v0.1.27      v0.2.4      v0.5.1     v0.6.16      v0.8.7
   v0.1.28      v0.2.5      v0.5.2     v0.6.17      v0.8.8
   v0.1.29      v0.2.6      v0.5.3     v0.6.18      v0.8.9
   v0.1.30      v0.3.0      v0.5.4     v0.6.19     v0.8.10
   v0.1.31      v0.3.1      v0.5.5     v0.6.20     v0.8.11
   v0.1.32      v0.3.2      v0.5.6     v0.6.21     v0.8.12
   v0.1.33      v0.3.3      v0.5.7      v0.7.0     v0.8.13
   v0.1.90      v0.3.4      v0.5.8      v0.7.1     v0.8.14
   v0.1.91      v0.3.5      v0.5.9      v0.7.2      v0.9.0
   v0.1.92      v0.3.6     v0.5.10      v0.7.3      v0.9.1
   v0.1.93      v0.3.7      v0.6.0      v0.7.4      v0.9.2
   v0.1.94      v0.3.8      v0.6.1      v0.7.5      v0.9.3
   v0.1.95      v0.4.0      v0.6.2      v0.7.6
バイナリインストール
nvm install v0.9.3       ←バージョンは任意

以前は Node.js をインストールする時、ダウンロードしたソースコードをローカルでコンパイルしていましたが、現在はビルド済みのバイナリが用意されているので、それを落とすだけでインストール完了します。うちの環境だと昔は5分ぐらいかかっていたのが、今は 15 秒で終わります。感動的!
(なお、環境にマッチしたバイナリファイルがない場合は、これまで通りソースコードからコンパイル/ビルドされます。)

copy-packages

こちらは結構前(去年の 7 月)に追加された機能ですが、指定したローカル Node バージョンのグローバルモジュールを現在のバージョンのグローバルモジュールとして再インストールします。
たとえば、v0.9.3 をインストール後、v0.9.2 に入れていたグローバルモジュールを v0.9.3 でも使えるようにするときは以下のように打ちます。

$ nvm copy-packages v0.9.2

ディレクトリのコピーではなく、ネットからの再インストールなので、設定ファイルなどを変更していた場合は再度書き直す必要があります。