LoginSignup
9
2

この記事はVoltaのバージョンが1.1.1のときに記述しました。実験的な機能に言及しているので機能差分が考えられますので注意してください。

VoltaはJavaScriptのツール管理を行うライブラリです。package.jsonを用いてNodejsはもちろんnpmyarnのようなパッケージマネージャーのバージョンを固定できます。

package.json
  "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_PNPM1に設定することで有効になります。

pnpmのバージョン固定

pnpmのバージョン固定を行いたいNode環境に移動してvolta pin pnpm@latestとすることで最新のpnpmをpackage.jsonに固定することができます。

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2