nodenvでNode.jsのバージョン管理をする(MacOS Big Sur)

MacOSをクリーンアップ後にBig Surへバージョンバップした。
Node.jsのバージョン管理は以前はHomebrew→Nodebrewで管理していたのですが、複数のサイトを開発する際、サイトによってNode.jsのバージョンが違うことが多く面倒。
nodenvならglobal(全体)とlocal(特定のディレクトリ)でバージョンを分けて設定できるのでこちらで設定。

環境

  • macOS Big Sur
  • zsh(ターミナル打ち込もうとしたツールがおすすめしてきたインストールしたらzshだった..)

nodenv をインストールする

nodenv をホームディレクトリの .nodenv にgithubからクローンします。

% git clone git://github.com/nodenv/nodenv.git ~/.nodenv

nodenv にパスを通す

nodenvコマンドを実行するためにnodenvのパスを通す。zsh、bashでコマンド違うので注意。

zshの場合

% echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.zshrc
% echo 'eval "$(nodenv init -)"' >> ~/.zshrc

bashの場合

$ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(nodenv init -)"' >> ~/.bashrc

再読み込み

シェルを再起動するか、sourceコマンドでshellの設定を再読み込みするとnodenvが使えるようになる。

#zsh
% source ~/.zshrc
bash
$ source ~/.bashrc

nodenvコマンドが実行できるかバージョン確認してみる

バージョン確認ができればOK

% nodenv -v 
nodenv 1.4.0+3.631d0b6

node-build プラグインをインストール

node-buildプラグインをインストールすると、nodenv install や nodenv uninstallを利用できるようになる。

% git clone https://github.com/nodenv/node-build.git ~/.nodenv/plugins/node-build

node-build-update-defs プラグインをインストール

node-build-update-defsプラグインは、インストール可能バージョンのリストを更新するために必要なプラグインです。次の次のプロジェクトの際に必要になるだろうから入れておく。

% git clone git://github.com/nodenv/node-build-update-defs.git ~/.nodenv/plugins/node-build-update-defs

(メモ)下記のコマンドでインストール可能バージョンのリストを更新できる

% nodenv update-version-defs

シェルを再起動するか、sourceコマンドでshellの設定を再読み込み

nodenv で Node.js をインストールする

nodenv install [バージョン]でインストール。すると、 ~/.nodenv/versions/ 配下にインストールしてきた Node.js が配置される。

% nodenv install 14.8.0
% nodenv install 12.18.0

shimのリフレッシュ

インストール後にshimのリフレッシュを実施。

% nodenv rehash

利用するNode.jsを指定

実際に利用するNode.jsを指定します。 グローバル(全ての場所で利用可能)で利用する設定の場合は nodenv global。プロジェクト(特定のディレクトリ)で特定のバージョンを指定する場合はnodenv local 。

% nodenv global [バージョン]
% nodenv local [バージョン]

指定したあとに、パスが .nodenv 配下の node を向いていればOK。

% which nodenv

Node.js をアンインストールする

% nodenv uninstall [バージョン]

お世話になったサイト

Node.jsのバージョン管理ツールnodenvをインストールしてNode.js環境をサクッと構築する手順

nodenv を使って Mac に Node.js の環境を構築する

Nodenv環境のインストール可能バージョンを更新する