理解 Volta
Volta 如何工作
Volta 通过创建垫片来管理您的 JavaScript 命令行工具,这些垫片根据您当前的目录路由到正确的版本。这允许不同的项目使用相同工具的不同版本,而无需任何额外配置。
垫片系统
当您安装 Volta 时,它会向您的 PATH 添加一组小垫片:
node
的一个垫片- 每个包管理器(
npm
、yarn
、pnpm
等)的一个垫片 - 您安装的每个全局包的一个垫片
这些垫片是微小的可执行文件,通过以下方式确定要运行的工具的实际版本:
- 检查您是否在具有固定工具版本的项目中
- 如果没有找到项目特定版本,则使用您的默认版本
项目特定版本
Volta 在您的 package.json
文件的 volta
部分中存储项目工具要求:
json
{
"volta": {
"node": "16.15.1",
"npm": "8.11.0"
}
}
当您在具有此配置的目录中运行命令时,Volta 会自动确保您使用这些确切的版本。
默认版本
对于没有固定版本的项目之外的位置,Volta 使用您的默认工具。您可以使用以下命令设置这些:
bash
volta install node@16.15.1
volta install npm@8.11.0
为什么选择 Volta?
一致的环境
Volta 确保在项目上工作的每个人都使用完全相同的工具链,消除"在我的机器上可以工作"的问题。
零开销
与其他版本管理器不同,Volta 在您更改项目时不需要额外的命令来切换版本。它会在您浏览文件系统时自动发生。
快速性能
用 Rust 构建,Volta 专为速度而设计。其垫片架构意味着运行 JavaScript 工具时的开销最小。
无缝集成
Volta 与您现有的 JavaScript 开发工作流程一起工作,无需更改您的习惯或流程。
常见工作流程
开始新项目
bash
# 创建目录并设置包
mkdir my-project && cd my-project
npm init -y
# 固定 Node.js 和 npm 版本
volta pin node@16
volta pin npm@8
# 安装依赖项
npm install express
为现有项目做贡献
bash
# 克隆仓库
git clone https://github.com/example/project.git
cd project
# 如果项目在 package.json 中有 volta 配置,
# 将自动使用正确的工具
# 如果没有,您可以添加它们
volta pin node@14
安装全局工具
bash
# 安装全局包
volta install typescript
# 现在您可以从任何地方使用它
tsc --version