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