volta run
volta run
命令将运行您提供的命令,使用在命令行中指定的工具版本。它具有以下语法:
bash
使用自定义的 Node、npm 和/或 Yarn 版本运行命令
用法:
volta run [FLAGS] [OPTIONS] <command> [--] [args]...
标志:
--bundled-npm 强制 npm 使用与 Node 捆绑的版本
--no-yarn 禁用 Yarn
--verbose 启用详细诊断
--quiet 防止不必要的输出
-h, --help 打印帮助信息
选项:
--node <version> 设置自定义 Node 版本
--npm <version> 设置自定义 npm 版本
--yarn <version> 设置自定义 Yarn 版本
--env <NAME=value>... 设置环境变量(可多次使用)
参数:
<command> 要运行的命令
<args>... 传递给命令的参数
工作原理
任何没有直接指定版本的工具都将通过 Volta 的常规上下文检测来确定其版本,使用项目中的固定版本或默认版本。
注意 版本设置必须在您希望运行的命令_之前_。命令后的任何内容都将被视为参数,不会被 Volta 读取。
示例
使用特定 Node 版本运行
bash
# 使用 Node 14 运行 npm test
volta run --node 14 npm test
# 使用最新的 Node 16 运行脚本
volta run --node 16 node script.js
使用自定义包管理器版本运行
bash
# 使用特定的 npm 版本运行
volta run --npm 7.10.0 npm install
# 使用特定的 Yarn 版本运行
volta run --yarn 1.22.10 yarn add express
组合工具版本
bash
# 使用特定的 Node 和 npm 版本运行
volta run --node 14.17.0 --npm 6.14.13 npm install
# 使用 Node 16 和 Yarn 1.22.10 运行
volta run --node 16 --yarn 1.22.10 yarn build
使用捆绑的 npm 或禁用 Yarn
bash
# 强制使用与 Node 捆绑的 npm 版本
volta run --bundled-npm npm install
# 在环境中禁用 Yarn
volta run --no-yarn some-command
设置环境变量
bash
# 设置单个环境变量
volta run --env DEBUG=true npm test
# 设置多个环境变量
volta run --env NODE_ENV=production --env DEBUG=false node server.js
使用场景
volta run
命令适用于:
- 使用不同版本进行测试:在不更改默认或项目设置的情况下,针对不同的 Node.js 版本测试您的代码
- 一次性任务:为专门任务使用特定工具版本运行命令
- CI/CD 环境:在持续集成流水线中使用,针对多个 Node.js 版本进行测试
- 依赖项安装:使用特定版本的 npm 或 Yarn 安装依赖项
- 临时环境更改:在不影响全局设置的情况下使用修改的环境变量运行命令
常见模式
跨多个 Node 版本测试
bash
# 使用 Node 14 测试
volta run --node 14 npm test
# 使用 Node 16 测试
volta run --node 16 npm test
# 使用 Node 18 测试
volta run --node 18 npm test
使用特定版本运行 NPX 命令
bash
# 使用特定 Node 版本运行 create-react-app
volta run --node 16 npx create-react-app my-app
# 使用特定 Node 版本执行 TypeScript 编译器
volta run --node 14 npx tsc
脚本执行
bash
# 使用特定环境运行构建脚本
volta run --env NODE_ENV=production node build.js