volta
https://gyazo.com/41797be8f83353500722820f2ed20b64
概要
プロジェクトごとに異なるNode.js/npm/yarnのバージョンを自動で切り替えてくれる。
/icons/point.iconpnpmはプロジェクト切り替え非対応。グローバル管理のみ
基本的な使い方
基本コマンド
code: (bash)
# グローバルデフォルトを設定
volta install node@18.20.0
# プロジェクト固有バージョンを固定(package.jsonに記録される)
volta pin node@20.10.0
volta pin yarn@3.6.0
# あとはディレクトリに入るだけで自動切り替え
cd project-a # Node 18 + npm 9
cd project-b # Node 20 + yarn 3
Voltaが管理するもの ✅
table:table
ツール 管理内容
Node.js バージョン切り替え・固定
npm バージョン切り替え・固定
yarn バージョン切り替え・固定
グローバルツール typescript、@vue/cli等のインストール
管理方式:
グローバル設定:PC全体のデフォルトバージョン
プロジェクト設定:ディレクトリごとの自動切り替え
Voltaが管理しないもの ❌
他のパッケージマネージャー
pnpm:グローバルインストールのみ(プロジェクト切り替え非対応)
bun:対応外
技術的な仕組み
shimによる実装
プロジェクトディレクトリのpackage.jsonを読み取り、適切なバージョンのバイナリにリダイレクト。
code:_
node → Volta shim → 適切なNodeバージョン
npm → Volta shim → 適切なnpmバージョン