Node.jsの管理をHomebrewからnodebrewに変える

  • 122
    Like
  • 0
    Comment

Node.js のバージョンを切り替えて使いたい!

というわけで、今まで Homebrew で node パッケージをインストールしてきたのですが、nodebrew で好きなバージョンの Node.js を使えるようにしたいと思います。

Homebrew の node パッケージをアンインストール

Homebrew で node をインストールしていない人は次項へ進んでください。

$ brew uninstall node

nodebrew を Homebrew でインストール

nodebrew は Homebrew のパッケージになっていますので、brew install で入れてみます。

Homebrew を使わず、直接インストールしたい方は nodebrew GitHub リポジトリの README をご参照ください。

$ brew install nodebrew

nodebrew の初期設定

Homebrew からインストールした場合、完了する際に以下のようなメッセージが表示されます。

You need to manually run setup_dirs to create directories required by nodebrew:
  /usr/local/opt/nodebrew/bin/nodebrew setup_dirs

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

メッセージの通りに初期設定を行います。

$ /usr/local/opt/nodebrew/bin/nodebrew setup_dirs

(代わりに /usr/local/opt/nodebrew/bin/nodebrew setup を実行しても設定できるようです。実際 GitHub の README では setup を実行するよう書かれています。ここでは Homebrew のメッセージの方法を紹介しますが、今後変更があるかもしれません)

~/.bashrc に下記のとおり追記します。

.bashrc
export PATH=$HOME/.nodebrew/current/bin:$PATH
export NODEBREW_ROOT=/usr/local/var/nodebrew

~/.bashrc を読み込みます。

$ source ~/.bashrc

正しくパスが通れば、 nodebrew が使えるようになっているはずです。

$ nodebrew help
nodebrew 0.9.7

Usage:
    nodebrew help                         Show this message
    nodebrew install <version>            Download and install <version> (compile from source)
    nodebrew install-binary <version>     Download and install <version> (binary file)
    nodebrew uninstall <version>          Uninstall <version>
(以下略)

nodebrew で Node.js をインストール

この時点ではまだ node はインストールされていません。node の最新版をインストールしたい場合は latest を指定してインストールします。

$ nodebrew install-binary latest

nodebrew にはインストールの方法が二通り用意されています。install と install-binary です。通常はバイナリをダウンロードしてインストールする install-binary を使う方が時間的に早く終わります。もしソースからコンパイルしたい場合は install を利用してみてください。

どのようなバージョンの node がインストール出来るかは下記のコマンドで確認できます。

$ nodebrew ls-all

Node.js のバージョンを指定して、node -v で確認してみましょう。

$ nodebrew use latest
use v9.0.0
$ node -v
v9.0.0

違うバージョンも入れてみます。例えば、Node.jsではver.6系がLTSになっていますが、この系列の最新版を入れる場合は下記のように入力します。

$ nodebrew install-binary v6
$ nodebrew use v6
use v6.11.5
$ node -v
v6.11.5

今入っているバージョンを確認します。

$ nodebrew ls
v6.11.5
v9.0.0

current: v6.11.5

その他、nodebrewには便利なコマンドや利用法がありますので、ぜひnodebrew helpQiitaのnodebrewタグなどをご覧ください。

nodebrew ではなく ndenv を使う

鹿野さん(@tonkotsuboy_com)の記事が参考になります。

改版履歴

  • 初稿(2015/02/09)
  • バージョンなどを少々手直ししました(2015/12/31)
  • バージョンの手直しと、LTSに関する記述を追加しました(2016/04/20)
  • バージョンと、LTSに関する記述を更新しました(2017/01/26)
  • nodebrew setupに関する編集リクエストをいただきましたので、記述を見直しました(@17number さん、ありがとうございます!)。バージョンと、LTSに関する記述もあわせて更新しました(2017/11/07)