nodenv という Node.js のバージョンマネージャを使う。 Node.js のバージョンマネージャとしては creationix/nvm やら hokaccha/nodebrew などがある。どれも使いやすいので好みで選んで問題ないが、 nodenv は ruby のバージョンマネージャである rbenv/rbenv のクローンであり同じコマンド設計なので、 rbenv や pyenv や plenv に慣れている・合わせたい人にオススメである。
nodenv をインストールする
nodenv をホームディレクトリの .nodenv
にクローンする。
$ git clone git://github.com/nodenv/nodenv.git ~/.nodenv
nodenv にパスを通す
zsh であれば .zprofile
とか、bash であれば .bash_profile
とか。
$ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(nodenv init -)"' >> ~/.bash_profile
つまり、以下の設定が記述されていれば OK である。
export PATH="$HOME/.nodenv/bin:$PATH"
eval "$(nodenv init -)"
シェルを再起動すると nodenv
が使えるようになる。
node-build をインストールする
nodenv/node-build という nodenv のプラグインをインストールすることで、 nodenv install
と nodenv uninstall
が使えるようになる。ホームディレクトリの .nodenv
配下に plugins
フォルダがあるので、その中にクローンする。
$ git clone https://github.com/nodenv/node-build.git ~/.nodenv/plugins/node-build
プラグインのロードのため、シェルの再起動もとい nodenv の再ロード(nodenv init
)が必要。
node-build-update-defs をインストールする
nodenv/node-build-update-defs という nodenv のプラグインをインストールすることで、 nodenv update-version-defs
が使えるようになる。ホームディレクトリの .nodenv
配下に plugins
フォルダがあるので、その中にクローンする。
$ git clone https://github.com/nodenv/node-build-update-defs.git ~/.nodenv/plugins/node-build-update-defs
プラグインのロードのため、シェルの再起動もとい nodenv の再ロード( nodenv init
)が必要である。このコマンドを実行すると、インストール可能な Node.js をアップデートできる。
$ nodenv update-version-defs
Checking for new nodejs versions
14.8.0 written
nodenv で Node.js をインストールする
以下のようにバージョンを指定して Node.js をインストール。
$ nodenv install 14.8.0
$ nodenv install 12.18.0
すると、 ~/.nodenv/versions/
配下にインストールしてきた Node.js が配置される。インストールしてきた後は shim のリフレッシュをしておく。
$ nodenv rehash
使う Node.js を指定する
あとは、実際に使う Node.js を指定する。グローバルに指定したいのであれば、 nodenv global
を。ローカルで指定したいのであれば nodenv local
を使う。 nodenv local
を実行すると、カレントディレクトリに .node-version
というファイルが作成され、そこに指定したバージョンが書かれている。これによって、そのプロジェクトでは .node-version
に書かれたバージョンを参照するようになる。
$ nodenv global 14.8.0
$ nodenv local 14.8.0
指定したあとに、パスが .nodenv
配下の node を向いていればOK。
$ which node
# /Users/1000ch/.nodenv/shims/node
Node.js をアンインストールする
nodenv
を使ってインストールした Node.js は、以下のようにしてアンインストールする。
$ nodenv uninstall 14.8.0
そのままですね。