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.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 按以下顺序检查来源:

  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 部分
}