この記事では個人的にお勧めなnodenvのインストール方法と使い方について簡単に紹介していきたいと思います。
anyenvを使ったインストール方法も別の記事で紹介していますので、こちらも参考にしていただければと思います。
nodenvのダウンロード
まず、nodenvのソースをGitHubからcloneしてきます。
git clone https://github.com/nodenv/nodenv.git ~/.nodenv
nodenvのビルド
ダウンロードしてきたソースからnodenvをビルドして実行可能な状態にしましょう。
cd ~/.nodenv && src/configure && make -C src
pathを通す
コマンドを叩けるようにパスを通しましょう。
- bashの場合
echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(nodenv init -)"' >> ~/.bash_profile
- Ubuntu DesktopやWindows Subsystem for Linuxの場合
echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(nodenv init -)"' >> ~/.bashrc
- zshの場合
echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(nodenv init -)"' >> ~/.zshrc
- Fish shellの場合
set -Ux fish_user_paths $HOME/.nodenv/bin $fish_user_paths
echo 'eval (nodenv init - | source)' >> ~/.config/fish/config.fish
上記を参考に自分の環境に合ったコマンドを実行することでパスを通すことができます。
個人的にお勧めするパスの通し方はコンフィグファイルに以下のように記述する方法です。
bash
とzsh
で機能することを確認しています。
if [ -e "$HOME/.nodenv" ]
then
export NODENV_ROOT="$HOME/.nodenv"
export PATH="$NODENV_ROOT/bin:$PATH"
if command -v nodenv 1>/dev/null 2>&1
then
eval "$(nodenv init -)"
fi
fi
このように記述してパスを通しておくことで、nodenvを入れる予定のない環境へ.zshrc
ファイルなどをコピーしたとしても、エラーを吐きません。
シェルを再起動する
pathを通したらログインシェルを再起動して新しい設定ファイルを読ませましょう。
exec $SHELL -l
コマンドが正しくインストールされているかも確認しましょう。
nodenv --version
プラグインをインストールする
nodenvはnodeのバージョンを管理するためのコマンドですが、プラグインを入れることで、nodeのインストールも行うことができます。
まず、プラグイン用のディレクトリを作ります。
mkdir -p "$(nodenv root)"/plugins
次に、nodenv-build
をGitHubからcloneします。
git clone https://github.com/nodenv/node-build.git "$(nodenv root)"/plugins/node-build
これでnodenv-build
のインストールは完了です。
あとは、nodenvのアップデートなどをプラグインまで含めて自動で行ってくれるプラグインnodenv-update
を入れておくのをお勧めします。
git clone https://github.com/nodenv/nodenv-update.git "$(nodenv root)"/plugins/nodenv-update
これで、nodenv update
とコマンドを叩くことで、nodenvとそのプラグインを自動的にアップデートすることが可能です。
nodenvの使い方
ここまでの準備ができていれば、nodenvは以下のようにして使うことができます。
nodeのインストール
# インストールできるnodeのバージョンの確認
nodenv install --list
# nodeのインストール(12.16.3は本記事執筆時点でのLTSバージョン)
nodenv install 12.16.3
# nodenvからnodeやグローバルなnpmパッケージを見えるようにするためにrehashを行う
# 新しいnodeのバージョンを入れたり、npm install -gなどを行ったときに実行する必要がある
nodenv rehash
npm install -g
のたびにrehashを行うのが面倒であれば
nodenv-package-rehash
のパッケージを入れることでそれを省略できます。
インストールしているnodeのバージョンの確認
nodenv versions
nodeのバージョンの指定
# グローバルで使うnodeのバージョンを指定する
nodenv global 12.16.3
# あるプロジェクトのディレクトリでのみ使うnodeのバージョンを指定する
nodenv local 12.16.3
nodenv local
を実行することで、.node-version
という名前の不可視ファイルが生成され、その中にそのディレクトリで使うnodeのバージョンが記述されます。
gitなどで.node-version
を共有することで、プロジェクトのメンバーで使うnodeのバージョンを統一することもできます。
nodeのアンインストール
特定のnodeを消したい場合はuninstallコマンドを使います。
nodenv uninstall 12.16.3
nodenvのアップデート
# nodenv-updateをインストールしているとき
nodenv update
# nodenv-updateをインストールしていないとき
(cd "$(nodenv root)"; git pull)
(cd "$(nodenv root)"/plugins/node-build && git pull)
nodenvのアンインストール
~/.nodenv
のディレクトリを消すだけです。
rm -rf $(nodenv root)
まとめ
最後まで読んでいただきありがとうございました。
以上でnodenvのインストール・使い方は一通り終了です。
他にもいろいろな機能がありますので、公式のドキュメントを参考にして使っていってください。