Skip to content

包二进制文件

关于安装包二进制文件过程的详细信息。

自定义下载位置

在内部,volta install <tool> 使用 npm 风格的解析来确定哪些版本可用以及包二进制文件的下载位置。因此,要重定向并使用内部仓库(即从私有仓库安装内部工具),您可以在主目录中创建一个 .npmrc 文件。在解析和下载工具时,以及在解析给定工具的依赖项时,将遵循那里指定的选项。

固定的 Node 版本

如理解 Volta 中所述,当安装工具时,Volta 将固定一个 Node 版本,以便即使默认 Node 版本发生变化,该工具也能继续使用。用于确定应固定哪个版本的过程如下:

Volta 0.6.8 之前

  • 如果包在 package.json 中指定了 engines,则使用满足 engines 要求的最新版本的 Node
  • 否则,使用最新版本的 Node

Volta 0.6.8 到 Volta 0.8.7

  • 如果包在 package.json 中指定了 engines,则使用满足要求的最新 LTS 版本的 Node
  • 如果没有 LTS 版本满足要求,则使用满足 engines 的最新整体版本
  • 如果 engines 不可用,则使用最新的 LTS 版本 Node

Volta 0.9.0 及更高版本

从 Volta 0.9.0 开始,Volta 将包固定到您当前的默认 Node 版本(在安装工具时)。您可以通过更改默认版本或使用 volta run 运行安装来更改该版本:

bash
volta run --node 15 npm i -g ember-cli

全局包管理

当您使用 Volta 安装全局包时,它会在您的 Volta bin 目录中创建一个垫片,指向您安装的包的特定版本。这允许您:

  1. 从系统的任何地方使用该包
  2. 确保包始终使用安装时的 Node 版本运行
  3. 安装需要不同 Node 版本的多个全局包

使用 npm 或 Yarn 管理全局包

从 Volta 0.9.0 开始,您可以使用标准的 npm 或 Yarn 命令来管理全局包:

bash
# 使用 npm 安装全局包
npm install -g typescript

# 使用 Yarn 安装全局包
yarn global add eslint

# 使用 npm 卸载全局包
npm uninstall -g typescript

# 使用 Yarn 卸载全局包
yarn global remove eslint

Volta 拦截这些命令并确保包正确安装在 Volta 生态系统中,创建必要的垫片。

检查已安装的包

要查看当前安装的全局包,请使用:

bash
volta list packages

包二进制解析

当您运行包二进制文件(如 TypeScript 的 tsc)时,Volta 遵循以下步骤:

  1. 检查二进制文件是否在具有包本地安装的项目中
  2. 如果在本地找到,则使用该版本
  3. 如果在本地未找到,则使用全局安装的版本
  4. 如果未全局安装,则显示错误消息

此解析过程确保您始终为每个项目使用正确版本的工具。