不同node环境切换之volta的使用

做为 NVM 的忠实用户,无意中在网上看到了更方便的管理node版本的工具volta。本来觉得没啥东西,无非就是nvm的仿品或者替代品而已,既然我已经可以随意切换我的node了,为什么还要换个工具去管理我的开发环境,没甚意思。但是当我细细探究之时才发现,这个东西将来必然会取代nvm的地位,成为包管理的主流,设想一个场景, 在维护一个旧的项目,比如用node@12.3.0可以跑的项目,使用node@16.0.0就跑不起来,会报错。但这时手上还有其他的新项目,例如使用的是node@18,突然需要把公司这个旧项目跑起来(node@12.3.0),当前电脑所在环境为node@18,这时启动旧项目,突然显示报错,唉,原来忘了切换node环境,手动切换 nvm use xxxxxx 后,才把项目起起来,这时又需要启动新项目的环境,噢噢,尴尬,起不起来了,这时我们就可以使用volta
volta和nvm都是跨平台支持的,这里我介绍下volta在mac和win上的安装方法。
   1、mac安装nvm和volta都很简单,这里直接使用官方的安装方法。
curl https://get.volta.sh | bash

使用以上命令就可以安装好volta了,使用命令验证volta安装是否成功。

volta -v  // 可以输出当前版本

  2、windows安装旧更加简单,去官网下载即可,一路next安装

如何使用volta安装node

volta install node   // 安装最新的node
volta install node@14.5.0   // 安装指定版本
volta list // 查看当前环境依赖
volta list all // 查看所有环境依赖

当我们有了多个版本的node,就可以到项目中进行对应的设置了

  1、比如我们有个vue2的老项目,就可以在当前项目下执行命令

volta pin node@14.5.0

此时我们的项目package.json中会多一个配置

"volta": {
  "node": "14.5.0"
}

tips:如果在package.json将这一块手动删除,那么volta将找不到他想使用的版本

当然,volta不止可以设置node环境,还可以设置项目所使用的是npm、yarn

volta pin npm@8.0.0

执行完成之后,package.json 中会多一个配置

"volta": {
  "node": "14.5.0",
  "npm": "8.0.0"
}

如果我们电脑安装了volta,但是没有安装该项目相应的node或者npm,不用着急,直接启动项目,然后volta会帮我们下载所需要的环境再启动项目(这里不需要我们停下来去安装当前项目环境,再启动项目)

以下是volta常用的命令

volta list //查看当前环境的版本
volta list all //查看存在的所有版本
volta install node //安装最新版的nodejs
volta install node@12.2.0 //安装指定版本
volta install node@12 //volta将选择合适的版本安装
volta uninstall node@12.2.0 //安装指定版本
volta pin node@10.15 //将更新项目的package.json文件以使用工具的选定版本
volta pin yarn@1.14 //将更新项目的package.json文件以使用工具的选定版本

总结:在开发中,我们经常拿到一个老项目时,在安装依赖时会各种报错,这时,即使像我之前使用nvm来管理node,常常也不能确定这个项目到底是在哪个node环境下才能运行,如果我们引入了volta,这是我们就可以在

package.json 文件中看到我们具体使用了哪个node环境,即使拿到这个项目开发的人不使用volta,也可以自己手动通过nvm确定切换到具体的node环境,不需要再去和之前的开发人员或者测试人员去询问到底使用哪个

环境才能跑起来项目

 

 

 
 
 
 
posted @ 2024-07-08 14:55  新恒  阅读(12)  评论(0编辑  收藏  举报