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版本即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/1087.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mysql-日志备份

1.binlog 用于数据恢复, 用于数据复制。 mysql> show variables like %log_bin%; -------------------------------------------------------------- | Variable_name | Value | ----------------------------------…

前端代码复用学习笔记:整洁架构与清晰架构

基础代码的复用往往比较简单,但是业务代码的复用通常是困难的,如果没有特殊的手段去治理项目会逐渐发展为难以维护的巨石应用,按照维基百科记载,代码的复用形式主要有三种,程序库,应用框架,设计…

【无标题】 6UVPX 总线架构的高性能实时信号处理

VPX630 是一款基于 6U VPX 总线架构的高速信号处理平台,该平台采用一片 Xilinx 的 Kintex UltraScale 系列 FPGA(XCKU115)作为主处理器,完成复杂的数据采集、回放以及实时信号处理算法。 采用一片带有 ARM内核的高性能嵌入式处理…

GeoServer发布一张纯图片作为地图教程

从事GIS行业的小伙伴们可能会有这样的需求,就是客户给了一张纯图片。可能是一张手工绘图,也可能是一张影像图片,总归来说就是png,jpeg格式的纯图片,现在需要把这张图片加载到我们的地图上,该如何做呢?本文带你从0开始操作一遍。 首先我先准备好测试数据,是一张jpg格式…

LeetCode刷题——贪心法(C/C++)

这里写目录标题[中等]买卖股票的最佳时机 II[中等]移掉k位数字[中等]跳跃游戏[中等]跳跃游戏 II[中等]加油站[中等]划分字母区间[中等]无重叠区间[中等]用最少数量的箭引爆气球[中等]买卖股票的最佳时机 II 原题链接题解 最简单的思路,效率不高,只要明天…

基于 pytorch 的手写 transformer + tokenizer

先放出 transformer 的整体结构图,以便复习,接下来就一个模块一个模块的实现它。 1. Embedding Embedding 部分主要由两部分组成,即 Input Embedding 和 Positional Encoding,位置编码记录了每一个词出现的位置。通过加入位置编码可以提高模型的准确率,因为同一个词出现在…

Web3中文|政策影响下的新加坡Web3步伐喜忧参半

如果说“亚洲四小龙”是新加坡曾经的荣耀,那么当时代进入21世纪的第二个十年,用新加坡经济协会(SEE)副主席、新加坡新跃社科大学教授李国权的话来说,新加坡现在的“荣耀”是全球金融的主要“节点”或区块链行业发展的关…

单片机能运行操作系统吗?

先直接上答案:可以!但是操作系统不是刚需,上操作系统比较占用单片机的资源,比如占用比较多的FLASH和RAM,间接增加了硬件成本,哪怕成本增加1毛钱,对于上量的产品,分分钟是一个工程师的…

【ChatGPT】论文阅读神器 SciSpace 注册与测试

【ChatGPT】论文阅读神器 SciSpace 注册与测试1. 【SciSpace】网址与用户注册1.1 官网地址:[【SciSpace官网】https://typeset.io](https://typeset.io)1.2 官网注册2. 【SciSpace】实战解说2.1 导入论文2.2 论文分析2.3 中文分析2.4 论文分析进阶2.5 公式表格分析3…

没有关系的话,那就去建立关系吧

今天给大家分享一道链表的好题--链表的深度拷贝,学会这道题,你的链表就可以达到优秀的水平了。力扣 先来理解一下题目意思,即建立一个新的单向链表,里面每个结点的值与对应的原链表相同,并且random指针也要指向新链表中…

Maven聚合开发【实例详解---5555字】

目录 一、Maven聚合开发_继承关系 二、Maven聚合案例 1. 搭建dao模块 2. 搭建service模块 3. 搭建web模块 4. 运行项目 一、Maven聚合开发_继承关系 Maven中的继承是针对于父工程和子工程。父工程定义的依赖和插件子工程可以直接使用。注意父工程类型一定为POM类型工程…

vue的diff算法?

文章目录是什么比较方式原理分析Diff算法的步骤:首尾指针法比对顺序:是什么 diff 算法是一种通过同层的树节点进行比较的高效算法 其有两个特点: 比较只会在同层级进行, 不会跨层级比较 在diff比较的过程中,循环从两边向中间比较…

2023年网络安全趋势

数据安全越来越重要。 我国《数据安全法》提出“建立健全数据安全治理体系”,各地区部门均在探索和简历数据分类分级、重要数据识别与重点保护制度。 数据安全治理不仅是一系列技术应用或产品,更是包括组织构建、规范制定、技术支撑等要素共同完成数据…

【FPGA-Spirit_V2】小精灵V2开发板初使用

🎉欢迎来到FPGA专栏~小精灵V2开发板初使用 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹 ✨博客主页:小夏与酒的博客 🎈该系列文章专栏:FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误,希望大家…

Kaggle实战入门:泰坦尼克号生生还预测

Kaggle实战入门:泰坦尼克号生生还预测1. 加载数据2. 特征工程3. 模型训练4. 模型部署泰坦尼克号(Titanic),又称铁达尼号,是当时世界上体积最庞大、内部设施最豪华的客运轮船,有“永不沉没”的美誉&#xff…

Spring-Kafka 发送消息的两种写法

文章目录前言写法一:发送的消息对象是字符串1 创建项目2 项目结构3 application.yml 配置文件4 生产者 KafkaProducerComponent5 消费者 KafkaConsumerComponent6 控制器(GET请求发送消息)7 启动类8 测试效果写法二:发送复杂消息对…

【C++】多态

文章目录多态的概念多态的定义及实现多态的构成条件虚函数虚函数的重写C11 final和override抽象类概念多态的原理(以下演示在32平台)虚函数表多态的原理静态绑定和动态绑定单继承和多继承关系的虚函数表单继承派生类的虚函数表多继承派生类的虚函数表其他…

彻底理解Session、Cookie、Token,入门及实战

文章目录Session Cookie的使用Token的使用Session Cookie的使用 1. Session存储数据 HttpSession session request.getSession(); //Servlet底层通过的SESSIONID,获取Session对象。 session.setAttribute("loginTime",new Date()); out.println(&q…

【算法基础】数据结构| 单链表+双链表 代码实现+图解+原理

博主简介:努力学习的预备程序媛一枚~博主主页: 是瑶瑶子啦所属专栏: Java岛冒险记【从小白到大佬之路】 前言 因为瑶瑶子正在备战蓝桥杯和校内ACM选拔赛,最近在学习算法相关的知识。我是借助AcWing网站来学习的,这篇文章是我学习…

1.3 K8S入门之组件说明

Borg K8S起源于Borg系统三种请求来源: borgcfgCLTWEB browsersBorgMaster: 负责请求的分发Borglet: 工人sheduler:包工头 和Persist store交互,不直接和Borglet交互Borglet监听Persist store K8S CS结构 Master服务器Node节点 Replicat…