Skip to content

理解 Volta

Volta 如何工作

Volta 通过创建垫片来管理您的 JavaScript 命令行工具,这些垫片根据您当前的目录路由到正确的版本。这允许不同的项目使用相同工具的不同版本,而无需任何额外配置。

垫片系统

当您安装 Volta 时,它会向您的 PATH 添加一组小垫片:

  • node 的一个垫片
  • 每个包管理器(npmyarnpnpm 等)的一个垫片
  • 您安装的每个全局包的一个垫片

这些垫片是微小的可执行文件,通过以下方式确定要运行的工具的实际版本:

  1. 检查您是否在具有固定工具版本的项目中
  2. 如果没有找到项目特定版本,则使用您的默认版本

项目特定版本

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