你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。
如果我的分享对你有帮助,请关注我,一起向上进击。
创作不易,希望大家给一点鼓励,把公众号设置为“星标”,给文章点个“赞”和“在看”,谢谢大家啦~
什么是 Volta?
Volta
是一种管理 JavaScript 命令行工具的便捷方式。
volta
的特点:
速度
无缝,每个项目的版本切换
跨平台支持,包括 Windows 和所有 Unix shell
支持多个包管理器
稳定的工具安装-无需每次升级都重新安装!
可扩展性挂钩用于特定于站点的定制
为什么选择 Volta?
使用 Volta,您可以一次选择 Node 引擎,然后不再担心它。您可以在项目之间切换,而不必手动切换 nodejs 版本。
你可以在工具链中安装 npm 二进制包,而不必定期重新安装它们,或者弄清楚它们停止工作的原因。
快速设置和切换 Node 版本
获取并使用特定版本的 Node:
volta install node@14
您应该立即注意到该工具的响应速度有多快。您的开发时间是宝贵的 JavaScript 开发人员应该拥有时髦的工具。
为合作者提供可复制的环境
Volta 允许你用一个命令为一个项目选择节点引擎和包管理器:
volta pin node@12
Volta 将 Node 引擎的准确版本保存在 package.json
,这样你就可以把你的选择提交给 git。从那时起,每次在项目目录中运行 Node 时,Volta 都会自动切换到您选择的同一版本 的 Node。类似的。所有的合作者都可以通过在他们的开发机器上安装 Volta 来做同样的事情。
Install and forget
Volta 还允许您将最喜欢的二进制包作为命令行工具安装,而不必担心它们会干扰您的开发项目。更好的是,这些工具在安装时被固定到特定的 Node 引擎上,除非您显式地告诉它们,否则它们不会更改。这意味着一旦一个工具工作了,它就会继续工作。
npm install -g surge
surge -h
安装 Volta
在安装 Volta 前, 如果有使用其它的 nodejs 管理工具/nodejs,可以提前卸载(非必须)。
Unix 安装
在大多数 Unix 系统(包括 macOS)上,您可以使用一个命令安装 Volta:
curl https://get.volta.sh | bash
对于 bash, zsh 和 fish,这个安装程序将自动更新控制台启动脚本。如果您希望防止修改控制台启动脚本,请参阅跳过 Volta 设置。要手动配置你的 shell 使用 Volta,编辑你的控制台启动脚本如下:
将
VOLTA_HOME
变量设置为$HOME/.volta
将
$VOLTA_HOME/bin
添加到 PATH 变量的开头
Windows 安装
对于 Windows,下载并运行 Windows 安装程序[4]并按照说明操作。
Volta 的功能依赖于创建符号链接,所以你必须:
启用开发者模式[5](推荐)
以提升的权限运行 Volta(不推荐)
Windows 下的 linux 子系统
如果您在 Linux 的 Windows 子系统中使用 Volta,请遵循上面的 Unix 安装指南。
使用 Volta
Volta 的工作是管理 JavaScript 命令行工具,如 node、npm、yarn 或作为 JavaScript 包的一部分发布的可执行文件。
与包管理器类似,Volta 会根据当前目录跟踪您正在处理的项目(如果有的话)。Volta 工具链中的工具会自动检测您所处的项目是否使用特定版本的工具,并为您路由到正确的工具版本。
管理您的工具链
您可以使用两个命令控制由 Volta 工具链管理的工具: Volta install
和 Volta uninstall
。
安装 node 引擎
要将工具安装到工具链中,需要设置该工具的默认版本。Volta 将始终使用这个默认值,除非您在一个已配置 Volta 使用不同版本的项目目录中工作。当您选择默认版本时,Volta 也会将该版本下载到本地缓存中。
例如,您可以选择 node 的确切版本作为默认版本:
volta install node@14.15.5
你不需要指定一个精确的版本,在这种情况下,Volta 会选择一个合适的版本来匹配你的请求:
volta install node@14
你也可以指定最新版本,或者甚至完全不选择版本,Volta 将选择最新的 LTS 版本:
volta install node
一旦您运行了这些命令中的一个,在您的 PATH 环境(或 Windows 中的 PATH)中由 Volta 提供的节点可执行文件将在默认情况下自动运行您选择的 node 版本。
同样地,你可以使用 volta install npm
和 volta install Yarn
分别选择 npm 和 Yarn 包管理器的版本。这些工具将使用您选择的 Node 的默认版本运行。
安装二进制包
使用 Volta,使用包管理器全局安装命令行工具也会将其添加到工具链中。例如,`vuepress`[6] 包包含一个同名的可执行文件:
yarn global add vuepress
当您将一个包安装到工具链上时,Volta 会获取当前的默认 Node 版本,并将该工具固定到该引擎上(有关更多信息,请参阅包二进制文件[7])。Volta 不会改变工具的固定引擎,除非你更新工具,无论如何。这样,您就可以确信您安装的工具不会在您背后更改。
管理您的项目
Volta 允许团队或协作者社区标准化他们在项目中使用的开发工具。
固定 Node 引擎
volta pin 命令允许您为项目选择 Node 引擎和包管理器版本:
volta pin node@12.20
volta pin yarn@1.19
Volta 会把这个放在你的 package.json,这样你就可以把你选择的工具提交到版本控制:
"volta": {
"node": "12.20.2",
"yarn": "1.19.2"
}
这样,每个使用 Volta 在项目上工作的人都会自动获得您选择的相同版本。
node --version # 12.20.2
yarn --version # 1.19.2
使用项目工具
node 和包管理器可执行文件并不是工具链中唯一的智能工具:工具链中的包二进制文件也知道您的当前目录,并尊重您所在项目的配置。
例如,安装 Typescript 包会将编译器 tsc 添加到你的工具链中:
npm install --global typescript
根据你所在的项目,这个可执行文件会切换到项目选择的 TypeScript 版本:
cd /path/to/project-using-typescript-3.9.4
tsc --version # 3.9.4
cd /path/to/project-using-typescript-4.1.5
tsc --version # 4.1.5
安全方便
因为 Volta 的工具链总是跟踪你在哪里,它确保你使用的工具总是尊重你正在做的项目的设置。这意味着您不必担心在项目之间切换时更改已安装软件的状态。
更重要的是,当 Volta 运行一个工具时,它会覆盖它的轨迹,确保你的 npm 或 Yarn 脚本永远不会看到你的工具链中有什么。
这两个特性的结合意味着 Volta 解决了全局包的问题。换句话说,Volta 为您提供了全局包安装的便利,但没有危险。
例如,你可以使用 npm i -g typescript
安全地安装 TypeScript,并享受直接调用 tsc 的便利无需担心项目的包脚本可能意外地依赖于您的机器的全局状态。
Pnpm 支持
对 pnpm 的支持目前是实验性的。
要启用该功能,请确保环境变量 VoLTA_FEATURE_PNPM
设置为 1
。在 Windows 上可以添加到环境变量中。
在 Linux/Mac 上,您可以在配置文件脚本中设置该值(例如 .bash_profile
、.zshrc
或类似的脚本)。
结束语
如果你在工作中遇到有多个项目使用不同版本的 nodejs,就来试试Volta
吧!
作者:JiKun
原文:https://juejin.cn/post/7275608678828916755
- EOF -
文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~
推荐阅读 点击标题可跳转
4、高效的终极秘诀
回复下方「关键词」,获取优质资源
回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版
👇关注我的公众号👇
告诉你更多细节干货
欢迎围观我的朋友圈
👆每天更新所想所悟