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

node多版本控制

前言

最近在折腾Python,并将node升级至v18.14.2。突然发现一个旧项目无法运行,也无法打包,里面的node-sass报错,显然这是因为node版本过高导致的。
将node版本降低至以前的v14.16.0,果然立马就能正常运行。

存在不同项目使用npm时所需要的版本不一致,又不想每次都卸载又重新安装node,建议使用nvm,一个专门的node多版本管理器,下次想更换不同的node操作很方便,下面是nvm安装已经使用。


nvm

nvm(node.js version management),是一个nodejs的版本管理工具。可以简单操作node版本的切换、安装、查看。。。

nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。

nvm下载安装

下载地址

在这里插入图片描述
解压之后是nvm.exe ,直接安装即可。
注意:我这里的默认地址,可以放在电脑其他不同的盘,放在默认位置就不需要环境配置。

nvm的使用

1. 查看vnm版本

检测是否安装成功 nvm-v , 出现版本号则安装成功

在这里插入图片描述

2. 用vnm安装指定的node

以安装 v14.16.0 为例:
nvm install 14.16.0

但却发现无法找到npm:

bash: npm:command not found

进目录一看,居然是空的
在这里插入图片描述
确实没有npm

原因:
NVM将所有安装的Node.js的不同版本存放在这个目录下,当使用nvm use命令时,会将对应版本的Node.js目录中的内容拷贝到C:\Program Files\nodejs目录中,从而达到切换不同Node.js版本的目的。但是这个目录下的node_modules目录为什么是空的呢?

npm的仓库已经从https://github.com/npm/npm移到https://github.com/npm/cli了,但是NVM v1.1.7并没有做相应的调整,所以通过nvm install安装Node.js时对应的npm实际上并没有安装成功,不过NVM此时并没有报告任何错误,而是仍然显示已安装成功。

解决:

node官网下载相应版本node压缩包:https://nodejs.org/dist/v14.16.0

将压缩包中的内容直接解压志文件夹(C:\Users\Administrator\AppData\Roaming\nvm\v14.16.0)中
在这里插入图片描述
这样就行了

3. 用vnm切换node

nvm use 14.16.0

在这里插入图片描述
现在查看下node版本
在这里插入图片描述
已经成功切换至 v14.16.0

再看看npm的版本:
在这里插入图片描述

现在我赶紧去看看旧项目还能不能跑起来,

不出意外,完美启动 ~ O(∩_∩)O

下次只要切换不同的node版本即可

http://www.lryc.cn/news/40615.html

相关文章:

  • Redis set集合
  • 漫画:什么是希尔排序算法?
  • 问卷工具选择要看哪些方面?
  • Qt之QPainter绘制多个矩形/圆形(含源码+注释)
  • 介绍两款红队常用的信息收集组合工具
  • 类ChatGPT国产大模型ChatGLM-6B,单卡即可运行
  • vue的diff算法?
  • C++ | 对比inline内联函数和宏的不同点
  • 面试官问 : ArrayList 不是线程安全的,为什么 ?(看完这篇,以后反问面试官)
  • Linux串口应用编程
  • java程序员学前端-HTML篇
  • 【云原生|Docker】03-docker的基础操作
  • vue2+高德地图web端开发使用
  • 01背包问题c++
  • ZYNQ硬件调试-------day2
  • JavaScript中Promise的简单使用及其原理
  • SpringBoot RabbitMQ 延时队列取消订单【SpringBoot系列14】
  • 【论文阅读 WWW‘23】Zero-shot Clarifying Question Generation for Conversational Search
  • ouc 网络安全实验 格式化字符串漏洞
  • PMSM矢量控制笔记(1.1)——电机的机械结构与运行原理
  • 2022年全国职业院校技能大赛(中职组)网络安全竞赛试题——中间人攻击渗透测试解析(详细)
  • MySQL必知必会 | 安全、维护、性能
  • MaaS Model as a Service 模型即服务
  • 【编程基础】027.C语言中函数在解题中的应用(三)
  • echart图表之highcharts
  • 关于.Net和Java的看法——我见过最牛的一个小实习生经历
  • 基于springboot+vue的“智慧食堂”程序设计实现【毕业论文,源码】
  • 学计算机选择什么编程语言好一些?
  • 持续集成 在 Linux 上搭建 Jenkins,自动构建接口测试
  • MySQL学习笔记(总结)