当前位置: 首页 > news >正文

前端不同项目使用不同的node版本(Volta管理切换)

前端不同项目使用不同的node版本(Volta管理切换)

使用volta自动切换前端项目的node版本, 每个不同的前端项目,可以使用不同的node版本。Volta这个工具,它允许用户方便地安装、切换和管理不同版本的Node.js,避免了为每个项目手动配置node环境的繁琐。通过全局安装并自动更新package.json,Volta简化了开发者的开发流程。

安装 Volta

官网地址:volta官网地址

安装链接: https://github.com/volta-cli/volta/releases/download/v1.0.8/volta-1.0.8-windows-x86_64.msi

1.找到Windows安装版本,下载完成后进行安装,一直next即可
在这里插入图片描述

与安装node类似, 一直点下一步即可(这里默认是装到C盘,安装时不能选择安装位置需要额外进行配置, 是挺坑的)

安装成功之后, 在命令行中输入: volta , 如果能正常显示内容即表明安装成功

配置Volta

一般来说, volta安装成功之后就能正常使用了, 但默认是装到C盘,后续可能会安装各种不同版本的node/npm/yarn,很占据C盘空间, 因此需要迁移到C盘之外 (如果C盘空间足够大,可忽视这一步)

1.在D盘新建一个文件夹,用于存放volta相关东西, 如D:\epositorysVolta

将C盘中原来的volta文件迁移到epositorysVolta文件夹中(原volta应在位置: C:\Program Files\Volta)
在这里插入图片描述
2.在系统环境变量中配置:
在这里插入图片描述
2.1 新建环境变量: VOLTA_HOME 其值为: D:\epositorysVolta
在这里插入图片描述
2.2 修改path文件中原来volta的值, 改为: %VOLTA_HOME%
在这里插入图片描述
在这里插入图片描述
3.在用户环境变量中设置:
3.1 在原来的volta\bin改为: %VOLTA_HOME%\bin
在这里插入图片描述
在这里插入图片描述
4.重新打开命令行, 重新输入 volta, 此时还能正常显示即为修改成功
在这里插入图片描述

使用Volta 安装nodejs

首先全局安装Volta的node版本

volta install node@16.18.1

您不需要指定精确的版本,在这种情况下,Volta 会选择一个合适的版本来匹配您的请求

volta install node@16

当然, 如果你需要安装最新的nodejs版本则更加简单

volta install node

此时,命令行执行: volta list 就可以看到你之前安装的node版本, 正常安装的nodejs版本一样,
安装成功之后会附带一个npm版本, 当然也可以使用volta进行版本控制, 安装方式跟上述的一样

安装遇到的问题

在命令行安装全局node-直接打开命令行执行volta install node@16.18.1。如果网络正常,就会安装成功,但是在桌面云里面会报如下错误
在这里插入图片描述
安装失败解决办法-直接打开node下载中心,https://registry.npmmirror.com/binary.html?path=node/下载具体版本的并和自己电脑匹配的node压缩包,然后把压缩包放到C:\Users\25496\AppData\Local\Volta\tools\inventory\node下。然后再在命令行执行volta install node@16.3.1,出现以下提示就说明安装成功
在这里插入图片描述

在这里插入图片描述

切换至当前项目指定的node版本

进入项目的根目录, 并执行

volta pin node@16.18.1

此时, 项目的package.json就会多出

{"volta": {"node": "16.18.1"}
}

切换成功
在这里插入图片描述

值得注意是, 如果项目中没有package.json文件时, 指定版本会直接报错

版本切换确认

在两个设置了node版本的项目中分别执行: node --version, 如果得出两个不同的值,则表示切换成功

Volta其他命令

volta list //查看存在的版本
volta list all //查看所有版本
volta install node //安装最新版的nodejs
volta install node@20.12.1 //安装指定版本
volta install node@16 //volta将选择合适的版本安装
volta pin node@16.20 //将更新项目的package.json文件以使用工具的选定版本

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 超详细排序汇总--插入排序类,选择排序类,交换排序类,归并排序,非比较排序
  • (七)Flink Watermark
  • leetcode108.把升序数组转换成二叉搜索树
  • 【前端】VUE动态引入组件 通过字符串动态渲染模板 动态生成组件
  • 【ubuntu24.04】k8s 部署5:配置calico 镜像拉取
  • 【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(十二)
  • 目标检测 | yolov6 原理和介绍
  • PDF转图片 JAVA
  • go--入门学习(二)
  • Python入门教程(超详细)
  • qiankun微任务之全局状态管理
  • Linux安装最新版Docker完整教程
  • stm32各个系列开发部库下载地址
  • 【Redis】数据类型详解及其应用场景
  • [云计算] 导论学习笔记
  • [译]前端离线指南(上)
  • eclipse的离线汉化
  • GitUp, 你不可错过的秀外慧中的git工具
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JAVA_NIO系列——Channel和Buffer详解
  • Java面向对象及其三大特征
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • quasar-framework cnodejs社区
  • Spark RDD学习: aggregate函数
  • Swoft 源码剖析 - 代码自动更新机制
  • TypeScript实现数据结构(一)栈,队列,链表
  • vue-cli在webpack的配置文件探究
  • Vue--数据传输
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 巧用 TypeScript (一)
  • 学习笔记TF060:图像语音结合,看图说话
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 用 Swift 编写面向协议的视图
  • python最赚钱的4个方向,你最心动的是哪个?
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • #define、const、typedef的差别
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #ifdef 的技巧用法
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • #知识分享#笔记#学习方法
  • $(function(){})与(function($){....})(jQuery)的区别
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (4)STL算法之比较
  • (C11) 泛型表达式
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (floyd+补集) poj 3275
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models