一、node版本问题场景:
1、服务器上跑的多个node项目需要不同的node版本,且没条件上docker。
2、开发环境中多个项目需要node版本不同,且同时不止是一个项目在开发中,用了nvm进行node版本管理和切换,但是太麻烦。
二、volta解决以上问题
官网先挂出来:https://volta.sh/
1、volta是什么? 大白话写一下我自己的理解:
a:和nvm类似都可以管理切换node版本
b: 不需要项nvm那样手动进行node版本切换
c: 除了管理node包还会管理对应版本下的其他包(npm、yarn、typescript)
2、安装
linux :
curl https://get.volta.sh | bash
配置环境变量:
export VOLTA_HOME="$HOME/.volta"
export PATH="$VOLTA_HOME/bin:$PATH"
再次调用 volta ,验证一下, 能输出版本号就OK了。
volta --version
windows:
需要下载安装包:https://docs.volta.sh/guide/getting-started
直接下载:https://github.com/volta-cli/volta/releases/download/v1.1.1/volta-1.1.1-windows-x86_64.msi
然后按提示下一步即可
安装完成后再命令行 输入 volta ,看到返回效果验证。
3、项目初次使用volta和配置
a、全局切换node版本
volta install node@16.20.0
b、在项目跟目录执行
volta pin node@16.20.0
volta pin npm@8.19.4
volta pin yarn@1.22.19
然后package.json中出现
"volta": {
"node": "16.20.0",
"npm": "8.19.4",
"yarn": "1.22.19"
}
配置好后,安装当前项目的依赖包,后启动项目。
4、在服务器上部署或者拉取别人代码进行开发
直接在项目目录中执行 node -v , volta会自动安装对应的node版本,安装完成输出对应的版本号。
5、volta命令地址
Volta Commands | Volta