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