インストールされたNode.jsのバージョンを切り替えたくなるタイミングがありますよね。バージョンアップの際はもとより特定バージョン下での挙動を確認したいとき、バージョンを上げたがうまく動かなくなってしまったので切り戻しを行いたい時などです。実現するためのツールはいくつかあるのですが今回は「nodebrew」をmacOSに入れてみます。
nodebrewのインストール
brewで一発です。
$ brew install nodebrew $ nodebrew --version nodebrew 0.9.8
setup
を実行しディレクトリを作成した後に、作成されたディレクトリにパスを通します。ここではzshを使用しているため~/.zshrcを編集しましたが、デフォルトのbashを使用している場合は~/.bashrcなどに読み替えてください。
### nodebrew用のディレクトリ作成 $ nodebrew setup Fetching nodebrew... Installed nodebrew in $HOME/.nodebrew ### nodebrewのパスを通す $ vi ~/.zshrc export PATH=$HOME/.nodebrew/current/bin:$PATH $ source ~/.zshrc
Node.js/npmを入れる
最新版をインストール
最新の安定版(LTS版)や、最新版を入手したい場合は以下を実行します。もちろんnpmも同時にインストールされます。
### LTS版 $ nodebrew install-binary stable ### 最新版 $ nodebrew install-binary latest
ソースをダウンロードしその場でコンパイルすることも可能です。install-binary
ではなくinstall
とします。環境にもよりますがコンパイルにはかなりの時間がかかりますので、バイナリではうまくいかない場合や特別な事情がある場合はこちらを用います。
$ nodebrew install stable
特定のバージョンをインストール
$ nodebrew install-binary v8.5.0
インストール可能な一覧を表示
$ nodebrew ls-remote v0.0.1 v0.0.2 v0.0.3 v0.0.4 v0.0.5 v0.0.6 (中略) v8.0.0 v8.1.0 v8.1.1 v8.1.2 v8.1.3 v8.1.4 v8.2.0 v8.2.1 v8.3.0 v8.4.0 v8.5.0 v8.6.0 v8.7.0 v8.8.0 v8.8.1 v8.9.0 v8.9.1 v8.9.2 v8.9.3 v8.9.4 v9.0.0 v9.1.0 v9.2.0 v9.2.1 v9.3.0 v9.4.0 v9.5.0 v9.6.0 v9.6.1 (中略) io@v3.0.0 io@v3.1.0 io@v3.2.0 io@v3.3.0 io@v3.3.1
インストール済みの一覧を表示
手元の環境にすでにインストールされたバージョン一覧です。
$ nodebrew ls v7.2.1 v7.10.1 v8.9.4 current: v8.9.4
currentは現在選択されているバージョンになります。
バージョンを切り替える
インストールしただけでは利用することができません。必ず宣言を行う必要があります。またバージョンを切り替える際も同じ要領でnodebrew use
を使用します。
$ nodebrew use stable use v8.9.4 $ node --version v8.9.4 $ npm --version 5.6.0
バージョンを直接指定することももちろん可能で、Node.jsに合わせてnpmも変更されます。
$ nodebrew use v7.10.1 use v7.10.1 $ node --version v7.10.1 $ npm --version 4.2.0
その他のコマンド
一時的に特定のバージョンで動かしたい
以下のようにすると、このコマンドを実行したときのみv0.10.29
でapp.js
を動かすことができます。
$ nodebrew exec v0.10.29 -- node app.js
特定のバージョンを削除する
$ nodebrew uninstall (バージョン)
nodebrew自体のバージョンを上げる
$ nodebrew selfupdate Fetching nodebrew... Updated successfully