Volta —— 一个代替nvm的node版本管理工具

1,063 阅读2分钟

Introduction | Volta

为什么使用Volta

随着部门的积累,项目必定会越来越多,又因为技术的发展,越老的项目自然使用的就是一些老版本的node,而又因为node版本之间升级,可能会导致一些依赖包的不兼容导致老项目崩溃,所有我们一般不会动老项目的node版本。

这就导致了我们在维护各种老项目的时候需要切换到不同的node版本上。

NVM —— node版本切换

nvm就是干这个node版本切换的事情。

每次在跑老项目之前,使用 nvm use node@xx.xx.xx 来切换当前环境的node版本,然后再yarn/npm 来跑起项目。

实际情况: 甚至有些项目不会特意表明该项目是运行在哪个node版本上,我们一般是通过文档,或者开发人员口口相传而得来的。再有些是因为跑起来项目之后,发现报错,再去研究报错发现是node版本太高或者太低的问题,然后才去升级/降低node版本。

Volta —— node版本切换,并且把node版本与项目绑定

Volta 会根据不同的项目,在yarn/npm 下载依赖或者run起项目的时候 自动 切换当前node版本的环境(若当前环境没有,也会自动下载)

怎么使用Volta

1. 安装Volta

docs.volta.sh/guide/getti…

window安装是需要下载安装包,然后next.....无脑安装即可

这个时候,其实如果是其他同事使用Volta来构建的项目,你已经可以直接yarn/npm 跑起项目,Volta就会自动给你切换到该项目对应的node版本了。什么yarn / npm 版本都可以设定好。

2. 给项目绑定node版本

直接用管理员打开PowerSheel

1. 先确定是否安装volta成功
# volta -v 

2. 用volta安装你项目需要的node版本,可以是一个大版本16 ,也可以是小版本16.16.0
# volta install node@xx.xx.xx

3. 在你项目的根目录上起一个PowerShell

4. 使用volta把项目与node版本绑定
# volta pin node@xx.xx.xx

5. 查看项目的package.json中是否添加了  
  "volta": {
    "node": "16.16.0",
  }
至此,已完成

6. 验证方法:在项目的根目录中
# volta list
既可看到当前的node版本

7. 也可以把yarn/npm的版本固定到项目中
# volta pin yarn@xx.xx.xx

8. 在项目的 package.json 中就会有
  "volta": {
    "node": "16.16.0",
    "yarn": "1.22.1"
  }

ps:我们可以直接在 package.json 中改node的版本,也是可以实现volta pin node@xx 的效果。


3. 全局安装包

安装全局包的时候,需要用管理员权限来安装,不然可能会出现无法操作Volta安装目录的权限

  1. 如安装vue/cli