Node.jsのバージョン管理ツールVoltaを導入してみた

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

参考