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

news2024/9/21 0:35:03

文章目录

  • 前言
  • 一、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.coloradmin.cn/o/1702666.html

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

相关文章

满帮集团 Eureka 和 ZooKeeper 的上云实践

作者:胡安祥 满帮集团,作为“互联网物流”的平台型企业,一端承接托运人运货需求,另一端对接货车司机,提升货运物流效率。2021 年美股上市,成为数字货运平台上市第一股。根据公司年报,2021 年&a…

521源码-免费游戏源码下载-闯梦江湖Q萌复古全网通手游服务端H5全攻略

闯梦江湖H5:Q萌复古全网通手游服务端全攻略 一、概述 闯梦江湖H5 是一款结合Q萌画风与复古情怀的全网通H5手游。我们为您提供了最新打包的Windows服务端,并附带了通用视频架设教程和GM网页授权后台工具,让您轻松搭建并管理自己的游戏世界。 …

现代前端工程化实践:Git、Husky、Commitlint与PNPM的协同作战

引言 Git Husky 与 Commitlint 是两个在 Git 工作流程中非常实用的工具,它们可以帮助团队维护代码质量和提交规范。Husky 是一个 Git 钩子管理器,允许你在仓库级别方便地配置钩子脚本;而 Commitlint 则是用来规范 Git 提交信息的工具&#x…

办公必备!一键拆分文件,效率翻倍的秘密

需求介绍 1、我有一张数据表“测试数据.xlsx” 2、我要根据A1“COUNTY_CODE”分类拆分成几张数据表(这里从9657到9658共12类,就是拆分成12张数据表) 3、根据12个分类,发送数据邮件给对应的收件人 4、收件人及抄送人、共同抄送人…

推导2维镜像变换(Reflection Transform)的公式

我们知道2维的旋转变换公式为 Q ( cos ⁡ ( θ ) sin ⁡ ( θ ) − sin ⁡ ( θ ) cos ⁡ ( θ ) ) Q\left( \begin{matrix} \cos \left( \theta \right)& \sin \left( \theta \right)\\ -\sin \left( \theta \right)& \cos \left( \theta \right)\\ \end{matrix} \r…

【java-数据结构18-队列】

上篇文章,我们已经完成了栈的学习,下面,我们将进行队列的学习,话不多说,上正文~ 1.队列 概念 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有…

解决:java.util.concurrent.RejectedExecutionException

一 发现RejectedExecutionException错误 今天查看服务器的时候发现了一些java.util.concurrent.RejectedExecutionException错误,这个是由于线程池里的线程忙不过来报出的。如下图: 像这种 RejectedExecutionException 错误,表明在Java应…

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

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

ssm缴税管理系统-计算机毕业设计源码70555

摘 要 随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理。由于现在网络的发达,缴税管理系统的…

【RAG论文】检索信息中的噪音是如何影响大模型生成的?

前些天看到的两篇论文,论文标题为: 《The Power of Noise Redefining Retrieval for RAG Systems》《How Easily do Irrelevant Inputs Skew the Responses of Large Language Models》 主要讲述了检索文档是如何影响大模型输出的以及相关实验结果&…

基于ssm+vue图书管理系统

基于ssmvue图书管理系统 ssm477图书管理系统 相关技术 javassmmysqlvueelementui

物业

用户报修 审核专员可以操作(前端)🆗 工程部可以看到不可以操作(前端)🆗 项目经理可以看到不可以操作(前端)🆗 经理可以看到不可以操作(前端)&…

计算机网络——TCP / IP 网络模型

OSI 七层模型 七层模型是国际标准化的一个网络分层模型,大体结构可以分成七层。每层提供不同的功能。 图片来源 JavaGuide 但是这样七层结构比较复杂,不太实用,所以有了 TCP / IP 模型。 TCP / IP 网络模型 TCP / IP 网络模型可以看作是 O…

视频截图软件,这几款截图神器收好!

在数字化时代,视频内容已经成为我们获取信息、娱乐休闲的主要方式之一。而在观看视频的过程中,我们总会遇到一些想要定格下来的精彩瞬间。此时,一款高效的视频截图软件就显得尤为重要。今天,就为大家推荐几款功能强大、操作简便的…

倩女幽魂手游攻略:搬砖赚银指南,2024新手必备!

倩女幽魂手游作为一款热门的多人在线角色扮演游戏,吸引了大量玩家。在游戏中,搬砖(即通过游戏中的活动和任务赚取虚拟货币,并换取实际收益)成为了许多玩家的选择。本文将为大家详细介绍如何在倩女幽魂手游中高效搬砖&a…

1.5.3 基于Java配置方式使用Spring MVC

本实战教程主要介绍了如何使用Java配置方式来使用Spring MVC框架。相较于XML配置方式,Java配置方式提供了一种更为简洁和灵活的配置方法。 项目创建与配置 创建一个Jakarta EE项目,并设置项目名称和位置。选择Jakarta EE 10版本,不添加依赖&a…

【webrtc】RtpToNtpEstimator:最小二乘法、ntp估计及c++实例

上一篇: 【webrtc】RtpToNtpEstimator:将 RTP 时间戳映射到 NTP 时间 分析了最小二乘法的实现及对rtp到ntp的映射计算的调用流程 基于最小二乘法进行估计 RtpToNtpEstimator::Estimate G:\CDN\rtcCli\m98\src\system_wrappers\source\rtp_to_ntp_estimator.cc RtpToNtpEstima…

kettle学习之子映射组件

映射组件就跟java中的函数方法一样,类似一个子流程。 练习开始 根据数据库表中的id查询出想要的字段,并把字段存到excel表中 一、表输入 二、子映射 映射输入规范,类似java方法中的形参 name vsxcd是方法返回的参数 三、excel输出 运行结果…

【Linux】线程操作

文章目录 前言一、线程相关操作函数1. pthread_create2. pthread_join3. pthread_exit4. pthread_cancel5. pthread_detach6. 示例代码 前言 在 Linux 中并不存在真正意义上的线程, 而是通过复用进程的结构来实现的, 叫做轻量级进程. 线程是一个进程内部的一个执行流, 而一个进…

LangChain实战技巧之三:关于Tool的一点拓展

(几乎)任一LLM在bind_tools时,都是习惯先定义一个Function或BaseTool,然后再bind(bind_tools)具体方式可参考我的这篇文章 AI菜鸟向前飞 — LangChain系列之十三 - 关于Tool的必知必会 但这里的tool未必需…