設定
Voltaは複数の設定ファイルを使用してJavaScriptツールチェーンを管理します。このリファレンスでは、利用可能な設定オプションとその形式について説明します。
プロジェクト設定
プロジェクト固有の設定は、プロジェクトのpackage.json
ファイルのvolta
キーの下に保存されます。
形式
json
{
"volta": {
"node": "16.14.2",
"npm": "8.5.0",
"yarn": "1.22.19",
"extends": "../shared-volta-config.json"
}
}
プロパティ
プロパティ | 型 | 説明 |
---|---|---|
node | String | このプロジェクトで使用するNode.jsバージョン |
npm | String | このプロジェクトで使用するnpmバージョン |
yarn | String | このプロジェクトで使用するYarnバージョン |
pnpm | String | このプロジェクトで使用するpnpmバージョン |
extends | String | 共有Volta設定ファイルへのパス |
バージョン形式
volta
設定のバージョン文字列は以下の形式を使用できます:
- 正確なバージョン:
16.14.2
- メジャーバージョンのみ:
16
- メジャーとマイナーバージョン:
16.14
- バージョン範囲(npm semver):
^16.14.0
- タグ:
latest
、lts
共有プロジェクト設定
複数のプロジェクトが拡張できる共有Volta設定を作成できます。これは、プロジェクト間でツールバージョンを標準化したい組織に有用です。
形式
json
{
"node": "16.14.2",
"npm": "8.5.0"
}
形式はpackage.json
のvolta
セクションと同じですが、JSONファイルのルートレベルにあります。
ユーザー設定
Voltaのユーザー設定は、Voltaホームディレクトリに保存されます:
- Unix:
~/.volta/
- Windows:
%LOCALAPPDATA%\Volta\
ツールストレージ
インストールされたツールは構造化されたディレクトリに保存されます:
- Node.js:
~/.volta/tools/image/node/
- パッケージマネージャー:
~/.volta/tools/image/yarn/
、~/.volta/tools/image/npm/
- パッケージ:
~/.volta/tools/user/packages/
フックディレクトリ
カスタムフックは~/.volta/hooks/
に保存されます。詳細については、高度な機能セクションを参照してください。
環境変数
環境変数は、Voltaの動作を設定する別の方法を提供します。完全なリファレンスについては、環境変数ページを参照してください。
設定の優先順位
どのツールバージョンを使用するかを解決する際、Voltaは以下の順序でソースをチェックします:
- コマンドライン引数(例:
volta run --node 14
) - 最も近い
volta
セクションを含むpackage.json
のプロジェクト設定 - ユーザーのデフォルトツールバージョン(
volta install
で設定) - バンドルバージョン(例:Node.jsにバンドルされたnpm)
例
典型的なプロジェクト設定
json
{
"name": "my-project",
"version": "1.0.0",
"volta": {
"node": "16.14.2",
"npm": "8.5.0"
},
"dependencies": {
// ...
}
}
拡張設定
json
// shared-config.json
{
"node": "16.14.2",
"yarn": "1.22.19"
}
// package.json
{
"name": "my-project",
"version": "1.0.0",
"volta": {
"extends": "./shared-config.json",
"npm": "8.5.0" // 拡張設定のnpmバージョンをオーバーライド
}
}
ワークスペース設定
ワークスペースベースのプロジェクトでは、ルートpackage.json
設定がすべてのワークスペースパッケージに適用されます:
json
// ルート package.json
{
"name": "workspace-root",
"volta": {
"node": "16.14.2",
"yarn": "1.22.19"
},
"workspaces": [
"packages/*"
]
}
// packages/app/package.json - Node.js 16.14.2とYarn 1.22.19を使用
{
"name": "app",
"version": "1.0.0",
// ここにvoltaセクションは不要
}