Volta
Volta 是一个 JavaScript 工具管理器,它可以让我们轻松地在项目中锁定 node,npm 和 yarn 的版本。你只需在安装完 Volta 后,在项目的根目录中执行 volta pin 命令,那么无论您当前使用的 node 或 npm(yarn)版本是什么,volta 都会自动切换为您指定的版本。
相较于 nvm,Volta 还具有一个诱人的特性:当您项目的 CLI 工具与全局 CLI 工具不一致时,Volta 可以做到在项目根目录下自动识别,切换到项目指定的版本,这一切都是由 Volta 默默做到的,开发者不必关心任何事情。
特点
- 速度⚡️
- 逐个项目的无缝版本切换
- 跨平台支持,包括 Windows 和所有 Unix shell
- 支持多个包管理器
- 工具安装稳定(每次节点升级后无需重新安装)
- 用于特定于站点的自定义的可扩展性挂钩
win安装
注:安装volta时,需要把其他node管理器(nvm)卸载掉,同时node环境卸载干净
1、在Windows上安装需要下载: volta安装包,按照提示一直next安装即可。
2、版本查看
Volta版本安装完成!
快速安装设置node版本
-
安装最新版本
volta install node@latest
-
安装指定版本,比如14.5.0
volta install node@14.5.0
注:使用install安装时,由于下载的是远端node进行安装,可能会安装过慢或者是安装失败,需要多试几次。
- 手动下载node包
-
如果总是安装失败,可以到node官方下载node安装包,进行本地安装。node下载地址:registry.npmmirror.com/binary.html…
-
比如我们安装node16.14.2,我们可以找到对应的文件夹点进去
-
win下载win的包,mac-intel找darwin的包,mac-arm找arm的就可以了
-
找到以后把包放到我们的安装目录
查看所有安装环境
volta list //查看当前环境的版本
volta list all //查看存在的所有版本
逐个项目的无缝版本切换
我们有了多个版本的node,就可以到项目中进行对应的设置了。
比如我们vue2的项目需要14版本的node,前往项目目录执行命令. 如果我们使用node@14,volta会帮助我们找14中最合适的版本
volta pin node@14
此时我们的项目package.json中会多一个配置
"volta": {
"node": "14.5.0"
}
支持多个包管理器(目前支持npm、yarn)
-
此配置用来指明我们当前项目设置的volta的环境,包含node、npm、yarn。等等你这里只有设置node呀,npm、yarn在哪,别着急,我们一步一步来。
-
虽说node自带npm,但如果我们想限制我们项目npm版本也是可以的,比如限制为8.0.0
volta pin npm@8.0.0
-
执行完成之后,package.json 中会多一个配置
"volta": {
"node": "14.5.0",
"npm": "8.0.0"
}
- 如果想设置 yarn 也是同样的道理
当我们给多个项目设置好volta的配置之后,我们后面就不需要在做版本切换了,你运行哪个项目,volta就会帮助你无缝切换到对应的版本(真香呀),nvm瞬间不香了。
运行项目
volta run npm run dev
常用命令
volta list // 查看当前环境的版本
volta list all // 查看存在的所有版本
volta install node // 安装最新版的nodejs
volta install node@12.2.0 // 安装指定版本
volta install node@12 // volta将选择合适的版本安装
volta pin node@10.15 // 将更新项目的package.json文件以使用工具的选定版本
volta pin yarn@1.14 // 将更新项目的package.json文件以使用工具的选定版本
volta fetch // 将工具缓存到本地,方便使用,下次不用重新下载
volta install // 下载一个工具例如
volta install node\@14(自动下载稳定版本) // 切换node版本也可以使用此命令
volta uninstall // 卸载一个工具,指定详细名称如node/npm/cnpm/yarn
volta pin // 将使用的工具版本固定到json中
volta list // 查看当前使用工具的版本,后面加上工具名称如node/npm/cnpm/yarn都可以
volta completions // 不知道有啥用
volta which // 查看volta安装目录
volta setup // 切换当前使用的用户,没啥用
volta help // 没啥用