なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

Volta でグローバルインストールしたツールを Node.js バージョンを指定して実行する

例えば、 Volta で以下のように Node.js バージョンを管理していたとする。

# global
$ node -v
v20.10.0

# project-a
$ node -v
v18.19.0

ここで、 pnpm を公式サイトにあるようにインストールしたとする。

$ volta install pnpm
$ pnpm --version
8.11.0

$ which pnpm
C:\Users\xxx\scoop\apps\volta\current\appdata\bin\pnpm
C:\Users\xxx\scoop\apps\volta\current\appdata\bin\pnpm.exe

この状態で、 project-a で pnpm を使うと、プロジェクトでピンした Node.js バージョンではなく、グローバルの Node.js バージョンになる。

$ pnpm run node -v
v20.10.0

わからんでもないが、この場合 project-a では Node.js v18 を期待しているので、 v20 で動いてほしくない。
そういうときは次のようにする。

$ volta run --node 18 pnpm run node -v
v18.19.0

便利ですね。