Node.jsのバージョンアップの速度は前から速いんですが、ここにきて自分の環境のNode.jsのバージョンではインストールできないnpmのパッケージなどが出始めてきました。気が向いたときにバージョンアップなどしていましたが、特に何も起きない限りバージョンアップをおろそかにしがちではありました。これを機に、今更ですがNode.jsのバージョン管理ツールであるnodebrewを使ってみることにしました。導入方法や使い方などをまとめておきます。

目次
nodebrewとは
nodebrewはNode.jsのバージョン管理ツールです。ご存じの方も多いかと思いますが、日本人エンジニアの@hokacchaさんによってPerlで開発されています。同じようなツールとしてnvmやWindows用としてNodistといったものがあります。これらのツールに関しては好みのを使えばいいと思いますが、nvmについてはzshと相性が悪かったりするようです。自分はネット上の情報が多く、評価も高いということで、nodebrewを使うようにしました。
nodebrewが作られた経緯については、以下の記事を見てもらえると良いかと思います。なかなか興味深いものがあります。
HomebrewでインストールしたNode.jsを削除する
自分の場合、以前Homebrew経由でNode.jsをインストールしました。これからnodebrewを使ってNode.jsをインストールするために、Homebrew経由でインストールしたNode.jsは事前に削除しておきます。
Homebrewの[brew uninstall]コマンドを使って、Homebrew経由でインストールしたNode.jsを削除します。
$ brew uninstall node
Uninstalling /usr/local/Cellar/node/0.12.2_1... (2582 files, 28M)
ちゃんと削除されたか確認します。「nodeコマンドがないよ」と怒られれば問題なくNode.jsは削除されています。
$ node -v
-bash: /usr/local/bin/node: No such file or directory
nodebrewをHomebrew経由でインストールする
Node.jsに関してまっさらな状態になったら、次にnodebrewをインストールします。nodebrewはHomebrewを使ってインストールします。
以下のコマンドでnodebrewをインストールします。
$ brew install nodebrew
==> Downloading https://github.com/hokaccha/nodebrew/archive/v0.8.1.tar.gz
######################################################################## 100.0%
==> /usr/local/Cellar/nodebrew/0.8.1/bin/nodebrew setup_dirs
==> Caveats
Add path:
export PATH=$HOME/.nodebrew/current/bin:$PATH
To use Homebrew's directories rather than ~/.nodebrew add to your profile:
export NODEBREW_ROOT=/usr/local/var/nodebrew
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
zsh completion has been installed to:
/usr/local/share/zsh/site-functions
==> Summary
🍺 /usr/local/Cellar/nodebrew/0.8.1: 7 files, 48K, built in 4 seconds
以下のコマンドでもインストール可能です。
$ curl -L git.io/nodebrew | perl - setup
インストール時に表示されるメッセージにも書いてありますが、shellの設定ファイル(.bashrcまたは.zshrc)にPATHを追記します。
$ export PATH=$HOME/.nodebrew/current/bin:$PATH
追記したPATHを反映させるために、設定ファイルを再読み込みします。
$ source ~/.bashrc
[nodebrew help]コマンドでも実行してみて、helpの内容がちゃんと表示されれば、nodebrewのインストールは完了です。
$ nodebrew help
nodebrew 0.8.1
Usage:
nodebrew help Show this message
nodebrew install Download and install a (compile from source)
nodebrew install-binary Download and install a (binary file)
nodebrew uninstall Uninstall a version
nodebrew use Use
nodebrew list List installed versions
nodebrew ls Alias for `list`
nodebrew ls-remote List remote versions
nodebrew ls-all List remote and installed versions
nodebrew alias Set alias to version
nodebrew unalias Remove alias
nodebrew clean | all Remove source file
nodebrew selfupdate Update nodebrew
nodebrew migrate-package Install global NPM packages contained in to current version
nodebrew exec -- Execute specified
Example:
# install from binary
nodebrew install-binary v0.10.22
# use a specific version number
nodebrew use v0.10.22
# io.js
nodebrew install-binary io@v1.0.0
nodebrew use io@v1.0.0
nodebrew経由でNode.jsをインストールする
nodebrewのインストールが完了したら、早速nodebrew経由でNode.jsをインストールしていきます。
nodebrewではNode.jsをインストールするためのコマンドとして、以下の2つのコマンドが用意されています。
- nodebrew install-binary: コンパイル済みのバイナリからインストール
- nodebrew install: ソースをコンパイルしてインストール
バイナリからインストールする[install-binary]コマンドを使った方がコンパイルする必要がないので時間が短縮されます。なので[install-binary]コマンドを使ってNode.jsをインストールします。何も考えずに安定版をインストールする場合は、「stable」とコマンドに指定します。
$ nodebrew install-binary stable
fetch: http://nodejs.org/dist/v5.10.1/node-v5.10.1-darwin-x64.tar.gz
######################################################################## 100.0%
Install successful
インストールしただけでは、まだNode.jsは使えるようになっていません。[nodebrew use]コマンドを使って、使用するバージョンを指定します。先ほどインストールした安定板の「stable」と指定します。
$ nodebrew use stable
use v5.10.1
ちゃんとインストールされ、使える状態になっているかバージョンを確認します。バージョン数がちゃんと表示されればNode.jsのインストールは完了です。
$ node -v
v5.10.1
ちなみに、Node.jsがインストールされると、同時にNode.jsのパッケージ管理ツールであるnpmもインストールされます。こちらも問題なくインストールされているかどうか、バージョン数を表示させて確認します。
$ npm -v
3.8.3
任意のバージョンを指定してNode.jsをインストールする
ちょうどnodebrewでNode.jsをインストールした直後に、Node.jsの最新バージョンであるNode.js v6.0.0 (Current)が2016年4月26日にリリースされました。ちょうどいい機会なので、上の説明でインストールしたv5.10.1に追加する形で、v6.0.0をインストールする方法を紹介します。
まず、[nodebrew ls-remote]コマンドでインストールできるNode.jsのバージョンを確認します。
$ nodebrew ls-remote
v0.0.1 v0.0.2 v0.0.3 v0.0.4 v0.0.5 v0.0.6
v0.1.0 v0.1.1 v0.1.2 v0.1.3 v0.1.4 v0.1.5 v0.1.6 v0.1.7
v0.1.8 v0.1.9 v0.1.10 v0.1.11 v0.1.12 v0.1.13 v0.1.14 v0.1.15
v0.1.16 v0.1.17 v0.1.18 v0.1.19 v0.1.20 v0.1.21 v0.1.22 v0.1.23
v0.1.24 v0.1.25 v0.1.26 v0.1.27 v0.1.28 v0.1.29 v0.1.30 v0.1.31
v0.1.32 v0.1.33 v0.1.90 v0.1.91 v0.1.92 v0.1.93 v0.1.94 v0.1.95
v0.1.96 v0.1.97 v0.1.98 v0.1.99 v0.1.100 v0.1.101 v0.1.102 v0.1.103
v0.1.104
== 省略 ==
v5.10.0 v5.10.1
v5.11.0
v6.0.0
io@v1.0.0 io@v1.0.1 io@v1.0.2 io@v1.0.3 io@v1.0.4
io@v1.1.0
== 省略 ==
io@v3.2.0
io@v3.3.0 io@v3.3.1
早速v6.0.0が追加されていました。上でも説明した[nodebrew install-binary]にv6.0.0を指定してコマンドを実行します。
$ nodebrew install-binary v6.0.0
fetch: http://nodejs.org/dist/v6.0.0/node-v6.0.0-darwin-x64.tar.gz
######################################################################## 100.0%
Install successful
[nodebrew ls]コマンドを実行すると、インストールされているNode.jsのバージョンを確認できます。v5.10.1とv6.0.0がインストールされていることがわかります。
$ nodebrew ls
v5.10.1
v6.0.0
current: v5.10.1
使用するNode.jsのバージョンを[nodebrew use]コマンドを使ってv6.0.0に切り替えます。
$ nodebrew use v6.0.0
use v6.0.0
確認のため再度[nodebrew ls]コマンドを実行します。currentの部分に現在適用されているNode.jsのバージョン数が表示されているので、v6.0.0になっていれば、バージョンの切り替えは問題なく完了です。
$ nodebrew ls
v5.10.1
v6.0.0
current: v6.0.0
バージョンを指定してNode.jsを削除する
バージョンを切り替えて使うのであれば、特に削除する必要もないですが、最後に必要のなくなったNode.jsのバージョンを削除する方法を紹介します。
[nodebrew uninstall]コマンドに削除したいNode.jsのバージョン数を指定して、コマンドを実行するとそのバージョンのNode.jsが削除されます。
$ nodebrew uninstall v5.10.1
v5.10.1 uninstalled
v5.10.1を削除したので、もちろん[nodebrew ls]コマンドを実行すると、削除したv5.10.1は表示されなくなります。
$ nodebrew ls
v6.0.0
まとめ
今回やっとの事でnodebrewを使うことにしましたが、とても扱いやすいなというのが第一印象です。コマンドもそれほど多くないので、インストールやバージョンの切り替えなど主要どころさえ覚えてしまえば、ほぼ使いこなせたと思っていいんじゃないでしょうか。
自分の場合、Node.jsのバージョンを切り替えて使うことが今の所あまりありませんが、いつでもバージョンを切り替えられるようにしておけば安心かなといったところです。
最後に今回参考に記事を紹介しておきます。
コメント