nvm安装教程及使用nvm管理多个node版本

文章目录

  • 前言
  • 一、nvm 安装教程
    • 温馨提示
    • macOS/Linux
    • Windows
  • 二、安装 node


前言

工作中,你可能会遇到以下场景:

  • 我想使用 pnpm 命令安装依赖,但是在使用 pnpm 命令时提示如下
$ pnpm -v
ERROR: This version of pnpm requires at least Node.js v16.14
The current version of Node.js is v14.17.2
Visit https://r.pnpm.io/comp to see the list of past pnpm versions with respective Node.js version support.

根据错误提示告知我们使用 pnpm 至少需要 nodejs v16.14 之后的版本才可以使用,目前的版本 v14.17.2 不支持,但是现有的 nodejs 版本已经在项目中使用到,盲目升级会给项目带来某些不可预料的问题,甚至导致项目无法启动等问题。

出于此类问题,我们想保留原有的 nodejs 版本,然后再额外安装我们需要的版本,并且能实现随时切换,这就是 nvm 能帮我们做到的功能,实现 node 的版本管理。


一、nvm 安装教程

nvm(Node Version Manager)本身并不是通过 npm 全局安装的。nvm是一个用于管理Node.js版本的工具,它通常是通过特定的安装脚本或包管理器(如Homebrew对于macOS)来安装的,而不是通过npm

温馨提示

  1. 博主已先踩坑,npm 全局安装 nvm,并遇到了 This is not the package you are looking for:please go to http://nvm.sh 的错误。这里需要使用命令行先卸载全局的 nvm。
npm uninstall -g nvm
  1. 安装 nvm 之前一定要先卸载已经安装的 nodejs,直接在应用和功能中卸载程序即可。
    卸载nodejs
    以下是如何正确安装 nvm 的一般步骤:

macOS/Linux

在终端使用curl或wget命令来安装nvm。例如:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh

或者

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh

注意:请将v0.39.1替换为nvm的最新版本号

安装完成后,你可能需要重启终端或重新加载配置文件,以使nvm生效。

Windows

下载

通常建议使用 nvm-windows,这是一个专门为 Windows 设计的 nvm 版本。你可以从GitHub 上的 nvm-windows 页面 下载。

博主选择了一个最近的 v1.1.12 的版本进行安装。
nvm安装包
安装

一路默认安装即可,默认安装不需要配置环境变量,如果想指定安装路径参考下图,需要设置环境变量
nvm安装路径修改
nodejs存储路径
安装完成后,以管理员身份运行打开 cmd 输入nvm -v 来检查nvm是否已成功安装,并查看其版本号。

查看nvm版本

二、安装 node

  1. nvm list available 查看可安装的 node 版本
    查看可安装node版本
    在Node.js中,LTS是“Long Time Support”的缩写,即长期支持版本。这意味着这个版本的Node.js将会得到较长时间的维护和更新,以确保其稳定性和安全性,因此建议安装 LTS 版本的 Node.
  2. 执行 nvm install 18.20.3 安装,或者 nvm install 14 安装指定版本的 node
  3. nvm ls 查看已经安装的 node 版本
    安装 node
  4. nvm use 18.20.3 切换 node 版本
  5. node -v 查看 node 当前的版本
    切换指定版本node
    前言中提到的全局安装 pnpm 之后执行 pnpm 命令抛错解决
    安装pnpm

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

捷报!恒瑞医药ADC创新药SHR-A1921卵巢癌适应症拟纳入突破性治疗品种公示

近日,恒瑞医药自主研发的TROP-2抗体偶联药物(antibody-drug-conjugate, ADC)注射用SHR-A1921用于治疗铂耐药复发上皮性卵巢癌、输卵管癌或原发性腹膜癌适应症被国家药品监督管理局药品审评中心拟纳入突破性治疗品种公示名单。今年3月&#xf…

第五天 从零开始构建基于Kubernetes的DevOps平台

基于Kubernetes的DevOps平台实践 持续集成工具: JenkinsgitlabciTekton 本章基于k8s集群部署gitlab、sonarQube、Jenkins等工具,并把上述工具集成到Jenkins中,以Django项目和SpringBoot项目为例,通过多分支流水线及Jenkinsfile…

工业4.0 企业级云MES全套源码,支持app、小程序、H5、台后管理端

工业4.0 企业级云MES全套源码,支持app、小程序、H5、台后管理端 采用javaspringboot-vue.jsuniapp开发 随着工业4.0的快速发展,制造执行系统(MES)成为了智能制造的核心。今天,将为大家介绍一款开源的MES系统——MES管…

本周 MoonBit 核心库进行 API 整理工作、工具链持续完善

MoonBit更新 【核心库 Breaking】核心库进行API整理工作 所有immutable数据结构被放在immut路径下,如immutable_hashmap.Map变为immut/hashmap.Map // Before let a : immutable_hashmap.Map[Int, Int] immutable_hashmap.make() // After let a : immut/hashma…

我的创作纪念日——我与CSDN一起走过的128天

目录 一、机缘:旅程的开始 二、收获:沿路的花朵 三、日常:不断前行中 四、成就:一点小确幸 五、憧憬:梦中的重点 一、机缘:旅程的开始 最开始开始写博客是在今年一二月份的时候,也就是寒假…

SpringBootTest测试框架三

feign调用mock 注入feign调用的拦截器,自定义InvocationHandlerFactory,重写代理类的实现。 @Beanpublic Feign.Builder feignBuilder() {return Feign.builder().invocationHandlerFactory((target, dispatch) -> new FeignResultInvocationHandler(target, dispatch));}…

如何自学制作电子画册,这个秘籍收藏好

随着数字技术的飞速发展,电子画册作为一种新兴的媒体展示形式,以其独特的魅力和丰富的表现手法,受到了越来越多人的喜爱。那么,如何自学制作电子画册呢? 1. 学习基础知识 首先,你需要了解电子画册的基本构…

SAP SCU0 比较两个环境之间的SPRO配置差异

TCODE : SCU0 直接选择所有 因为对比全部,所以会有点久,慢慢等着,吃个橘子 输入正式环境的账号密码

YonBuilder移动开发基础教程——云修复

1 使用场景 在项目开发中,我们经常会遇到一种场景,对于一些已经上架应用市场对外发布的应用,我们需要修改其中部分页面的部分内容样式或功能逻辑,通常的做法是我们修改后,重新编译一个新的版本,然后提交应…

OrangePi Kunpeng Pro 开发板测评及Python开发实测

一、背景 首先感谢 创新乐知通过CSDN 邀请本人,参与这次 评测活动。这块开发板是香橙派联合华为精心打造,具有超强算力的鲲鹏开发板。本人使用最多的还是树莓派系列的板子,国产板子特别是华为为核心的板子还是头一次使用,特别感兴…

BurpSuite详细安装配置教程

环境条件:windows7或者windows10虚拟机 一、BurpSuite安装与配置 1、BurpSuite简介 BurpSuite(简称Burp)是基于Java开发的Web安全领域的集成工具,被称为信息安全界的瑞士军 刀,它包含Proxy、Intruder、Repeater、Decoder、Comparer等多个…

day 4:2028. 找出缺失的观测数据

Leetcode 2028. 找出缺失的观测数据 现有一份 n m 次投掷单个** 六面** 骰子的观测数据,骰子的每个面从 1 到 6 编号。观测数据中缺失了 n 份,你手上只拿到剩余 m 次投掷的数据。幸好你有之前计算过的这 n m 次投掷数据的 平均值 。 给你一个长度为 m …

网络攻击攻击之-远程代码执行/RCE告警运营分析篇

在各种网络安全产品的告警中,远程代码执行是一种非常常见的告警。本文将从远程代码执行的定义,远程代码执行利用的流量数据包示例,远程代码执行的suricata规则,远程代码执行的告分析警研判,远程代码执行的处置建议等几个方面阐述如何通过IDS/NDR,态势感知等流量平台的远程…

群狼调研(长沙品牌推广测试)开展广告效果测评

本文由群狼调研(长沙员工满意度调查)出品,欢迎转载,请注明出处。广告效果测评是对广告活动进行评估和分析的过程,旨在了解广告对目标受众的影响和效果。以下是广告效果测评通常涉及的内容: 1.知晓度和曝光度…

c# 解决窗体关闭时出现“访问已释放句柄“的异常

c# 解决窗体关闭时出现“访问已释放句柄“的异常 while (!this.button_search.IsHandleCreated)//主窗口的日志 { //解决窗体关闭时出现“访问已释放句柄“的异常 if (this.button_search.Disposing || …

服务器端口号,如何避免与公共端口冲突

首先,我们需要明确什么是服务器端口号。服务器端口号是计算机操作系统分配给网络应用程序的一个数字标识,用于区分不同的网络服务。每个网络服务都需要一个唯一的端口号来进行标识,以便在通信过程中能够准确找到对应的服务。 为了避免与公共端…

汽车短视频怎么拍?成都科成博通文化传媒公司

汽车短视频怎么拍? 随着短视频平台的兴起,汽车爱好者们纷纷将自己的汽车生活、驾驶体验以及车辆评测等内容以短视频的形式呈现给大众。汽车短视频不仅满足了观众对汽车文化的好奇心,也为汽车品牌和汽车相关行业提供了宣传和推广的新渠道。那…

《中国改革报》的发行范围有哪些?

《中国改革报》是国家发展和改革委员会主管的全国性综合类报纸,其发行范围广泛,涵盖了全国各地。 该报在全国范围内公开发行,读者群体包括政府部门、研究机构、企业界、学术界以及关注中国改革与发展的社会各界人士。 它通过订阅、零售等多…

React 技术栈选型

React 脚手架需求分许 页面缓存功能状态管理路由管理请求封装异常处理样式主题能力国际化多语言能力多业务环境配置网站SEO效果 React 技术栈库 前端应用基础功能 前端框架或库: React前端状态管理: Redux zustand mobx前端路由: React-RouterUI库: Material UI、Ant Design…

考过Oracle的人,都有什么感觉呢

成就感:通过OCP考试是对个人技能和专业知识的肯定,考生会感到一种强烈的成就感。这种成就感来自于对自己努力付出的回报,也是对自己在Oracle数据库领域专业能力的认可。 自信心增强:成功通过OCP考试会极大地增强考生的自信心。在…