包二进制文件
关于安装包二进制文件过程的详细信息。
自定义下载位置
在内部,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 目录中创建一个垫片,指向您安装的包的特定版本。这允许您:
- 从系统的任何地方使用该包
- 确保包始终使用安装时的 Node 版本运行
- 安装需要不同 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 遵循以下步骤:
- 检查二进制文件是否在具有包本地安装的项目中
- 如果在本地找到,则使用该版本
- 如果在本地未找到,则使用全局安装的版本
- 如果未全局安装,则显示错误消息
此解析过程确保您始终为每个项目使用正确版本的工具。