使用Volta 解决多项目node版本不同的痛处

背景

最近嘛,终于忍受不了咯。由于项目众多,且历史背景厚重,所以存在了node的版本也众多,有:node8 node10 node14 node18及以上等等,

大家来回切换开发项目的时候也是不胜其烦,所以经调研有个工具还是很好用的,就是volta,可以每个项目单独维护node和npm版本,不用在关系node的版本切换,大家就可以专心搞业务了,是不是很开心,是不是很happy。那一起来操练起来,使用起来吧。此文本是基于 macOS来调试的哦,windows也类似就是安装不太一样。

安装 Volta

arduino 复制代码
curl https://get.volta.sh | bash

这个安装程序将自动更新控制台启动脚本

管理node

kotlin 复制代码
//在终端中输入
volta

volta install node@16//测试安装16的版本

volta install node // 安装最新版本

volta install node@14.15.5 // 切换版本 需要选择体具体的版本

node -v

查看已经安装过的node版本

arduino 复制代码
// 查看已经安装过的node版本
volta list node

固定node版本

kotlin 复制代码
// 在项目中这样会在package.json中增加 配置
volta pin node@16

"volta": {
    "node": "16.14.0",
}

卸载node

kotlin 复制代码
// 卸载某个版本的node
volta uninstall node@16

当然也可以安装npm 或者yarn 限制版本

kotlin 复制代码
// 固定其他的
volta pin npm@6.4.1
volta pin yarn@1.19

"volta": {
    "node": "16.14.0",
    "npm": "6.4.1",
    "yarn": "1.19.0"
}

然后在项目中使用就会在package.json 中增加一个配置

有了以上的配置后切换到不同的项目就会有不同的node使用了,不用再切换来切换去node 版本

arduino 复制代码
volta setup 为当前用户/shell 启用 volta
volta run 运行带有自定义Node、npm、pnpm和/或Yarn版本的命令
volta help 输出帮助信息

windows就借用下其他人写的咯,我自己没有去研究

对于 Windows,下载并运行 Windows 安装程序并按照说明操作。

彩蛋: 还可以管理其他的比如:vue-cli等等,这些自己去摸索吧...

问题

Pnpm 支持

对 pnpm 的支持目前是实验性的。要启用该功能,请确保环境变量 VoLTA_FEATURE_PNPM 设置为 1。在 Windows 上可以添加到环境变量中。在 Linux/Mac 上,您可以在配置文件脚本中设置该值(例如 .bash_profile.zshrc 或类似的脚本)。

已知的限制

全局安装:目前不支持全局安装(例如 pnpm install -g),并且会导致错误。

迁移 :目前还没有自动迁移功能,因此如果您以前将 pnpm 作为 Volta 全局文件安装,则需要通过调用 Volta install pnpm 手动重新安装它。在启用支持并重新安装之前,您可以通过 volta uninstall pnpm 卸载之前安装的 pnpm 包。一旦切换到本机 pnpm 支持,由于目前缺乏卸载实现,可能无法通过调用相同的命令来删除孤立的旧 pnpm 包

相关推荐
golitter.6 分钟前
Ajax和axios简单用法
前端·ajax·okhttp
雷特IT26 分钟前
Uncaught TypeError: 0 is not a function的解决方法
前端·javascript
长路 ㅤ   1 小时前
vite学习教程02、vite+vue2配置环境变量
前端·vite·环境变量·跨环境配置
亚里士多没有德7751 小时前
强制删除了windows自带的edge浏览器,重装不了怎么办【已解决】
前端·edge
micro2010141 小时前
Microsoft Edge 离线安装包制作或获取方法和下载地址分享
前端·edge
.生产的驴1 小时前
Electron Vue框架环境搭建 Vue3环境搭建
java·前端·vue.js·spring boot·后端·electron·ecmascript
awonw1 小时前
[前端][easyui]easyui select 默认值
前端·javascript·easyui
九圣残炎1 小时前
【Vue】vue-admin-template项目搭建
前端·vue.js·arcgis
柏箱2 小时前
使用JavaScript写一个网页端的四则运算器
前端·javascript·css
TU^2 小时前
C语言习题~day16
c语言·前端·算法