Skip to content

管理您的项目

Volta 允许团队和协作者在他们用于项目的开发工具上实现标准化。本指南将向您展示如何使用 Volta 有效地管理您的项目。

固定工具版本

Volta 中最重要的项目管理功能是能够将特定工具版本固定到您的项目:

固定 Node.js

要指定您的项目应该使用哪个 Node.js 版本:

bash
volta pin node@16.14.2

您也可以固定到主版本或次版本,Volta 将使用最新的匹配版本:

bash
volta pin node@16

固定包管理器

同样,您可以固定 npm 和 Yarn 版本:

bash
volta pin npm@8.5.0
volta pin yarn@1.22.18

固定的工作原理

当您固定工具版本时,Volta:

  1. 使用 volta 部分更新您项目的 package.json 文件
  2. 将此信息提交到版本控制
  3. 确保团队中的每个人都使用相同的版本

以下是您的 package.jsonvolta 部分的样子:

json
{
  "name": "your-project",
  "version": "1.0.0",
  "volta": {
    "node": "16.14.2",
    "npm": "8.5.0",
    "yarn": "1.22.18"
  }
}

项目本地工具

Volta 也尊重项目本地工具安装:

使用本地包二进制文件

当您在项目中本地安装包时:

bash
npm install typescript
# 或
yarn add typescript

您可以通过 Volta 运行它们的二进制文件:

bash
volta run tsc
# 或简单地
tsc

Volta 将使用项目固定的 Node.js 版本来运行这些工具。

工作区支持

对于具有多个项目的 monorepo 设置,Volta 支持配置继承:

扩展配置

在具有多个项目的工作区中,您可以在根 package.json 中设置基础配置:

json
{
  "volta": {
    "node": "16.14.2",
    "yarn": "1.22.18"
  }
}

然后在单个项目 package.json 文件中,扩展根配置:

json
{
  "volta": {
    "extends": "../../package.json"
  }
}

这允许您在工作区中的所有项目之间保持一致的工具版本。

项目管理最佳实践

以下是使用 Volta 管理项目的一些推荐做法:

1. 总是固定您的工具

为每个项目固定 Node.js 和包管理器版本:

bash
volta pin node
volta pin npm
# 或
volta pin yarn

这确保所有团队成员都有一致的开发环境。

2. 提交 Volta 配置

始终将 package.json 中的 volta 部分提交到版本控制。这是 Volta 与您的团队共享配置的方式。

3. 记录工具要求

在您项目的 README 中,提及您使用 Volta 进行工具管理:

markdown
## 开发

此项目使用 [Volta](https://volta.sh) 确保工具的一致性。
安装 Volta,将自动使用正确版本的 Node.js 和 npm。

4. 使用 CI/CD 集成

在持续集成环境中,将安装 Volta 作为构建过程的一部分:

bash
# GitHub Actions 示例
- name: Install Volta
  uses: volta-cli/action@v1

# Volta 将自动使用正确的 Node.js 和 npm/yarn 版本
- name: Install dependencies
  run: npm install

5. 跨项目标准化

对于拥有多个项目的组织,尽可能在工具版本上实现标准化,以最小化开发人员需要安装的版本数量。

通过使用 Volta 有效地管理您的项目,您确保所有团队成员都有一致的开发环境,减少"在我的机器上可以运行"的问题,并使协作更加顺畅。