maesblog

nodebrewを使ってMac OSX環境のNode.jsを管理する

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

Node.jsロゴ

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のバージョンを切り替えて使うことが今の所あまりありませんが、いつでもバージョンを切り替えられるようにしておけば安心かなといったところです。

最後に今回参考に記事を紹介しておきます。

関連記事

コメント

  • 必須

コメント