この記事はVoltaのバージョンが1.1.1のときに記述しました。実験的な機能に言及しているので機能差分が考えられますので注意してください。
VoltaはJavaScriptのツール管理を行うライブラリです。package.json
を用いてNodejsはもちろんnpm、yarnのようなパッケージマネージャーのバージョンを固定できます。
"volta": {
"node": "20.2.0",
"npm": "9.6.6"
}
Voltaについての詳細な説明はこちらの記事で書きました。
近頃はパッケージマネージャーの新たな選択肢としてpnpmがよく使われるようになっています(ライブラリの紹介でもよくpnpmがデフォルトになっているのを見かけます)。しかし、現行のVoltaではpnpmのバージョン固定が実験的な機能としてサポートされているだけなので、npmやyarnとは異なりいくつかの手順を踏んで利用する必要があります。この記事ではそのために必要なことを紹介します。
バージョンを1.1.1に
pnpmをサポートするバージョン1.1.1までVoltaのバージョンアップを行います。
バージョンアップはインストールした時と同様の手段を用いることで完了します。
既存のVoltaとpnpmの設定を切る
多くの人は一度volta install pnpm
を試していると思うので、ここでvolta uninstall pnpm
をして後続の手順をスムーズに進めるようにすることをお勧めします。私の場合はこれだけでは既存のVoltaとpnpmとの繋がりが完全に切れなかったので、Voltaのアンインストールと環境変数の削除を行なって改めてVoltaのインストールを行いました。最後まで手順を進めてうまく動作しなかった場合はこちらも検討してください。
環境変数で実験的機能を有効に
pnpmのバージョン固定を行う実験的機能を有効にするために環境変数を設定します。
UNIX系であれば起動スクリプトに設定を追加してフラグを立てます。
zshを用いている場合は~/.zshrc
に以下のように一行追加することで有効になります。変更後はsource ~/.zshrc
などで設定を更新してください。
export VOLTA_FEATURE_PNPM=1
Windowsではシステム環境設定でVOLTA_FEATURE_PNPM
を1
に設定することで有効になります。
pnpmのバージョン固定
pnpmのバージョン固定を行いたいNode環境に移動してvolta pin pnpm@latest
とすることで最新のpnpmをpackage.json
に固定することができます。