Voltaのコマンドを覚える
Nodeのバージョン切り替えツールとしてnvmではなくVoltaを使うことが増えてきた(各プロジェクトごとにバージョン管理できるのが便利)のですが、毎回コマンドなんだっけ?と忘れて調べてしまうので、アウトプットもかねてメモ書きしてみます。
インストール⇒セットアップは省きます。サイト飛んだら書いてあります。
volta install
デフォルトのNodeバージョンを設定します。ローカルになければ持ってくるところ(fetch)から。
実際の使い方としては、node[@version]でバージョンを指定します。何もつけずにnodeだけだとlatestになります。
volta install node
success: installed and set node@22.14.0 (with npm@10.9.2) as default
volta fetch
ローカルに入っていないバージョンのものを持ってきます。使い方はinstallと同じで、node[@version]です。メジャーバージョンだけの指定でも行けます。
volta fetch node@18
success: fetched node@18.20.8 (with npm@10.8.2)
volta uninstall
ドキュメントには書いてあるけどnode削除しようとしてもerrorが出ます。
多分今対応してるのはnpmパッケージのみで、nodeやらyarnやらは手動で消さないといけないらしい。
volta uninstall node
error: Uninstalling node is not supported yet.
volta pin
結局これが便利。プロジェクトごとにバージョンを指定出来ます。いちいち変える必要がなくなる。
package.jsonに記述されます。
volta pin node@lts
success: pinned node@22.14.0 (with npm@10.9.2) in package.json
volta list
今使われているツールのバージョンを確認できます。pinをしたプロジェクトで使用すると、指定したバージョンが表示され、pinがない場合はinstallしたデフォルトのバージョンが表示されます。
また、後ろにtoolの名前を付けると、ローカルに入っている全バージョンを確認できます。
volta list
⚡️ Currently active tools:
Node: v22.14.0 (current @ C:\Git\aaa\package.json)
Yarn: v4.1.0 (default)
Tool binaries available:
jss (default)
pnpm, pnpx (default)
ts-node, ts-node-cwd, ts-node-esm, ts-node-script, ts-node-transpile-only, ts-script
(default)
tsc, tsserver (current @ C:\Git\aaa\package.json)
volta list node
⚡️ Node runtimes in your toolchain:
v10.24.1
v12.22.12
v14.21.3
v18.14.1
v18.20.8
v20.10.0
v20.11.0
v22.13.1
v22.14.0 (current @ C:\Git\aaa\package.json)
volta which
指定したtoolの実ファイルがどこにあるかわかります。消す時とかに使ってください。
volta which node
C:\Users\TK\AppData\Local\Volta\tools\image\node\22.14.0\node.exe
volta run
toolのバージョンを指定してコマンド実行できます。環境ごとの検証に使います。
volta run --node 18 npm run dev
completionsとsetup使わないので、特に紹介もいらないかなということで割愛。
もしわからなくなったらhelpでも確認できます。一旦以上です。
Discussion