インストールされた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
参考ページ
このブログを応援する
お寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。
同じカテゴリの記事
- [Node.js] SequelizeでMySQLを利用する – その5「ToDoアプリ作成編」
- [Node.js] SequelizeでMySQLを利用する – その4「マイグレーション編」
- [Node.js] SequelizeでMySQLを利用する – その3「トランザクション編」
- [Node.js] SequelizeでMySQLを利用する – その2「SELECT文編」
- [Node.js] SequelizeでMySQLを利用する – その1「チュートリアル編」
- [JavaScript] クレジットカード番号から国際ブランドを特定する
- [JavaScript] クレジットカード番号が正しいか検証する
- [Node.js] ClamAVでウイルスチェック
旧コメント欄(表示のみ)