Node.jsのバージョンをプロジェクトごとに切り替えたいなあと思って色々調べていたところ、Rust製のVoltaが良さそうだったので導入してみました。
既に他のNode.js管理ツールがインストールされている場合は予めアンインストールしておいてください。
本体のインストール
curl https://get.volta.sh | bash
パスを通す
source ~/.zshrc
バージョン確認
volta -v
1.0.6
Node.jsのインストール
# バージョンを指定してインストール
volta install node@14
# 最新のLTSリリースをインストール
volta install node
volta install
はダウンロード(fetch
)してdefault
に設定するコマンドになります。
ですので複数のバージョンをインストールした後に、デフォルトで使用するバージョンを変更する場合は再度volta install
コマンドを実行します。volta install
コマンド実行時に指定したNode.jsのバージョンが既にダウンロード済みであればダウンロードは行われずdefault
の切り替えのみ行われます。
インストールしたNode.jsのバージョンを確認
volta list all
⚡️ User toolchain:
Node runtimes:
v14.19.1
v16.14.2 (default)
Package managers:
Packages:
node -v
v16.14.2
アンインストール
volta
にはuninstall
というコマンドが用意されていますが、現時点で使用できないようなので特定のバージョンのNode.jsを削除する場合は直接削除します。
# 例
rm -rf ~/.volta/tools/image/node/13.14.0/
npmのバージョン確認
Node.jsのインストールが完了するとnpmもインストールされます
npm -v
8.5.0
プロジェクトのNode.jsのバージョンを固定する
プロジェクトのディレクトリまで移動してvolta pin
コマンドを実行
volta pin node@14.19.1
success: pinned node@14.19.1 (with npm@6.14.16) in package.json
するとpackage.json
に下記が追加されているのがわかります。
{
...
"volta": {
"node": "14.19.1"
}
}
Node.jsのバージョンも変更されていることが確認できます。
node -v
v14.19.1