Skip to content

設定

Voltaは複数の設定ファイルを使用してJavaScriptツールチェーンを管理します。このリファレンスでは、利用可能な設定オプションとその形式について説明します。

プロジェクト設定

プロジェクト固有の設定は、プロジェクトのpackage.jsonファイルのvoltaキーの下に保存されます。

形式

json
{
  "volta": {
    "node": "16.14.2",
    "npm": "8.5.0",
    "yarn": "1.22.19",
    "extends": "../shared-volta-config.json"
  }
}

プロパティ

プロパティ説明
nodeStringこのプロジェクトで使用するNode.jsバージョン
npmStringこのプロジェクトで使用するnpmバージョン
yarnStringこのプロジェクトで使用するYarnバージョン
pnpmStringこのプロジェクトで使用するpnpmバージョン
extendsString共有Volta設定ファイルへのパス

バージョン形式

volta設定のバージョン文字列は以下の形式を使用できます:

  • 正確なバージョン:16.14.2
  • メジャーバージョンのみ:16
  • メジャーとマイナーバージョン:16.14
  • バージョン範囲(npm semver):^16.14.0
  • タグ:latestlts

共有プロジェクト設定

複数のプロジェクトが拡張できる共有Volta設定を作成できます。これは、プロジェクト間でツールバージョンを標準化したい組織に有用です。

形式

json
{
  "node": "16.14.2",
  "npm": "8.5.0"
}

形式はpackage.jsonvoltaセクションと同じですが、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は以下の順序でソースをチェックします:

  1. コマンドライン引数(例:volta run --node 14
  2. 最も近いvoltaセクションを含むpackage.jsonのプロジェクト設定
  3. ユーザーのデフォルトツールバージョン(volta installで設定)
  4. バンドルバージョン(例: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セクションは不要
}