nodejs版本管理切换工具nvm介绍、nvm下载、nvm安装、配置及nvm使用

最近很多同学问,在工作中,同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS运行环境,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,该如何管理nodejs版本,nvm其实就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个node版本之间切换继续浏览详情。

1、nvm介绍

Node Version Manager(NVM) 是一种用于管理多个主动节点.js版本的工具。

Node.js平台,Node.js工具社区和Node.js库是快速移动的目标 - 在一个Node.js版本下可能有效的方法不能保证适用于另一个版本的Node.js。因此,用户需要一些方法在 Node 的多个版本之间切换.js

在这里插入图片描述

为什么使用 NVM?

NVM 允许用户:

  • 使用简单的命令在本地下载任何远程长期支持 (LTS) 版本的 Node.js。
  • 直接从命令行在 Node.js 的多个版本之间轻松切换。
  • 设置别名以轻松在不同下载版本的 Node.js之间切换。

2、下载

操作系统支持

nvm同时支持Linux和macOS

我们这里是在Windows上操作,也是将来工作用的最多的操作系统

下载链接:

https://github.com/coreybutler/nvm-windows/releases

选择这2个都行:(如果无法打开链接,可以添加微信公众号 熊猫编程Panda Code,回复nvm领取安装包)

在这里插入图片描述

在这里插入图片描述

3、安装

注意:如果电脑上之前已经单独安装了node,先卸载(可以在控制面板里面卸载),然后再安装nvm

找到上一步下载的软件,双击安装包,一直点击下一步即可安装。

在这里插入图片描述

选择next

在这里插入图片描述

选择next

在这里插入图片描述

选择next

在这里插入图片描述

选择install安装

在这里插入图片描述

选择finish完成

在这里插入图片描述

安装完成后,可以打开cmd命令行窗口。执行

nvm -v

就可以看见nvm的版本号啦!

在这里插入图片描述

4、配置

安装完毕后,找到安装的路径,一些简单配置,

4.1配置环境变量

注意事项:

  • 如果是默认安装在c盘的。就可以跳过下面的步骤
  • 如果电脑用户名是中文不建议默认安装,可以选择其它盘安装,安装路径不要有中文出现

(如果是安装在其他盘的、则需要配置相应的环境变量)

怎样打开环境变量?

打开我的电脑==》右键》属性》高级系统设置》环境变量(如图)

在这里插入图片描述

在这里插入图片描述

在环境变量里就可以看见nvm的路径。如果是安装在其他盘的。就去找到对应的安装路径修改即可。

如果安装nvm的文件夹里没有nodejs这个文件夹的话,可以自己手动新建一个空的nodejs文件夹即可。

在这里插入图片描述

4.2配置淘宝镜像

使用npm的同学应该都知道,使用淘宝镜像安装比较快。

我们先找到nvm所在文件位置,点开setting

里面的配置。原本只有2行代码。我们只需要在最后面追加2行代码即可:

node_mirror: http://npmmirror.com/mirrors/node/
npm_mirror: http://registry.npmmirror.com/mirrors/npm/

然后保存关闭。

5、使用

打开cmd

执行以下命令:

nvm ls                      // 看安装的所有node.js的版本nvm list available          // 查显示可以安装的所有node.js的版本

在这里插入图片描述

可以在可选列表里。选择任意版本安装,比如安装18.18.0

执行:

nvm install 18.18.0

安装好了之后。可以执行:

nvm ls

可以在列表里看到这个版本:

如果想使用18.18.0这个版本的话。就执行:

nvm use 18.18.0

在这里插入图片描述

然后执行:

node -v

就可以看到当前版本已经是18.18.0了

在这里插入图片描述

6、常用命令

nvm off                     // 禁用node.js版本管理(不卸载任何东西)
nvm on                      // 启用node.js版本管理
nvm install <version>       // 安装node.js的命名 version是版本号 例如:nvm install 8.12.0
nvm uninstall <version>     // 卸载node.js是的命令,卸载指定版本的nodejs,当安装失败时卸载使用
nvm ls                      // 显示所有安装的node.js版本
nvm list available          // 显示可以安装的所有node.js的版本
nvm use <version>           // 切换到使用指定的nodejs版本
nvm v                       // 显示nvm版本
nvm install stable          // 安装最新稳定版
nvm命令行操作命令
1,nvm nvm list 是查找本电脑上所有的node版本- nvm list 查看已经安装的版本
- nvm list installed 查看已经安装的版本
- nvm list available 查看网络可以安装的版本2,nvm install 安装最新版本nvm3,nvm use <version> ## 切换使用指定的版本node4,nvm ls 列出所有版本5,nvm current显示当前版本6,nvm alias <name> <version> ## 给不同的版本号添加别名7,nvm unalias <name> ## 删除已定义的别名8,nvm reinstall-packages <version> ## 在当前版本node环境下,重新全局安装指定版本号的npm包9,nvm on 打开nodejs控制10,nvm off 关闭nodejs控制11,nvm proxy 查看设置与代理12,nvm node_mirror [url] 设置或者查看setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/nvm npm_mirror [url] 设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是: https://github.com/npm/npm/archive/.13,nvm uninstall <version> 卸载制定的版本14,nvm use [version] [arch] 切换制定的node版本和位数15,nvm root [path] 设置和查看root路径16,nvm version 查看当前的版本

在做项目的时候。不同的项目使用的nodejs版本可能不一样。我们可以在配置文件里看见:

由于nodejs版本和npm版本的不同。导致项目无法运行。所以我们就需要用到nvm这个工具了!

7、结论

nvm对于任何Node.js开发人员来说都是一个很棒的工具。它可以实现无忧安装,并在不同版本之间轻松切换,从而节省了真正重要的事情的时间。

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

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

相关文章

SQL刷题笔记day6-1

1从不订购的客户 分析&#xff1a;从不订购&#xff0c;就是购买订单没有记录&#xff0c;not in 我的代码&#xff1a; select c.name as Customers from Customers c where c.id not in (select o.customerId from Orders o) 2 部门工资最高的员工 分析&#xff1a;每个部…

vue+elemntui 加减表单框功能样式

<el-form ref"form" :model"form" :rules"rules" label-width"80px"><el-form-item label"配置时间" prop"currentAllocationDate"><div v-for"(item,key) in timeList"><el-date…

高并发项目-用户登录基本功能

文章目录 1.数据库表设计1.IDEA连接数据库2.修改application.yml中数据库的名称为seckill3.IDEA创建数据库seckill4.创建数据表 seckill_user5.密码加密分析1.传统方式&#xff08;不安全&#xff09;2.改进方式&#xff08;两次加密加盐&#xff09; 2.密码加密功能实现1.pom.…

CI/CD(基于ESP-IDF)

主要参考资料 B站乐鑫信息科技《【乐鑫全球开发者大会】DevCon23 #15 &#xff5c;通过 CI/CD 进行流水线开发》 pytest-embedded乐鑫文档: https://docs.espressif.com/projects/pytest-embedded/en/latest/api.html 目录 CI/CD简介乐鑫内部CI/CD测试GitLab CI/CDGitHub Actio…

CSA 实现安全应用容器架构的最佳实践 课堂随笔

CSA 实现安全应用容器架构的最佳实践 编写背景 随着云计算和微服务架构的兴起&#xff0c;容器技术因其轻量级、可移植性和易于管理等优势成为现代应用部署的首选。然而&#xff0c;容器的安全性问题也随之凸显。云安全联盟&#xff08;Cloud Security Alliance, CSA&#xf…

Android基础-Kotlin语言的作用及优缺点

一、Kotlin语言的作用 Kotlin是一种由JetBrains公司开发的现代化静态类型编程语言&#xff0c;自其诞生以来&#xff0c;便在多个领域展现出了强大的应用潜力。其主要作用可以概括为以下几点&#xff1a; Android应用开发&#xff1a;Kotlin作为Android开发的官方推荐语言&am…

dockerfile关键字

参考&#xff1a;59_Dockerfile保留字简介_哔哩哔哩_bilibili FROM 作用&#xff1a;指定基础镜像&#xff0c;即在这个基础镜像上构建新镜像&#xff0c;如下所示&#xff0c;表示在ubuntu20.04镜像的基础上构建新镜像 FROM ubuntu:20.04 MAINTAINER 作用&#xff1a;镜像…

LabVIEW中实现Trio控制器的以太网通讯

在LabVIEW中实现与Trio控制器的以太网通讯&#xff0c;可以通过使用TCP/IP协议来完成。这种方法包括配置Trio控制器的网络设置、使用LabVIEW中的TCP/IP函数库进行数据传输和接收&#xff0c;以及处理通讯中的错误和数据解析。本文将详细说明实现步骤&#xff0c;包括配置、编程…

SheetJS V0.17.5 导入 Excel 异常修复 Invalid HTML:could not find<table>

导入 Excel 提示错误&#xff1a;Invalid HTML:could not find<table> 检查源代码 发现 table 属性有回车符 Overview: https://docs.sheetjs.com/docs/ Source: https://git.sheetjs.com/sheetjs/sheetjs/issues The public-facing websites of SheetJS: sheetjs.com…

网络通讯聊天工具的实现v2

在原有基础上加入文件的传输功能。 从客户端传送到服务器后&#xff0c;服务器接受文件&#xff0c;再转发给其他客户端&#xff0c;客户端接受后服务器删除文件。 涉及文件的读取与关闭。 1.原来传输的改进 1.1服务器需要区分传输的是文件还是信息。 在传输之前先传输一个…

Linux基础指令用户管理002

继Linux基础指令用户管理001我们讲述了创建用户和删除用户&#xff0c;我们讲一下如何设置用户密码以及修改用户信息。 操作系统 CentOS Stream 9 设置用户密码 我们使用passwd指令passwd name [rootlocalhost ~]# passwd wg 更改用户 wg 的密码 。 新的密码&#xff1a; …

装机必备——截图软件PixPin安装教程

装机必备——截图软件PixPin安装教程 软件下载 软件名称&#xff1a;PixPin 1.5 软件语言&#xff1a;简体中文 软件大小&#xff1a;30.1M 系统要求&#xff1a;Windows7或更高&#xff0c; 64位操作系统 硬件要求&#xff1a;CPU2GHz &#xff0c;RAM2G或更高 下载通道①迅…

通过LLM多轮对话生成单元测试用例

通过LLM多轮对话生成单元测试用例 代码 在采用 随机生成pytorch算子测试序列且保证算子参数合法 这种方法之前,曾通过本文的方法生成算子组合测试用例。目前所测LLM生成的代码均会出现BUG,且多次交互后仍不能解决.也许随着LLM的更新,这个问题会得到解决.记录备用。 代码 impo…

Inno Setup 深入浅出-文件的显示

【1】在需要打包的文件中&#xff0c;新建一个文本文件&#xff0c;如License.txt 注意&#xff1a;中文的编码格式需要GB2312&#xff0c;否则显示乱码 【2】读取、显示文本 [Code] procedure Init_ShowLicense(); var tmpFont:TFont; begin editLicense : TMemo.C…

OpenFHE 源码解析:BinFHE 部分

参考文献&#xff1a; [ABB22] Al Badawi A, Bates J, Bergamaschi F, et al. Openfhe: Open-source fully homomorphic encryption library[C]//Proceedings of the 10th Workshop on Encrypted Computing & Applied Homomorphic Cryptography. 2022: 53-63.openfheorg/o…

算法训练营day43

题目1&#xff1a;343. 整数拆分 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int integerBreak(int n) {vector<int> dp(n 1, 0);dp[2] 1;for(int i 3;i < n;i) {for(int j 1;j < i;j ) {// j * (i - j)相当于拆分成两个数// j * dp[i …

搭建YOLOv10环境 训练+推理+模型评估

文章目录 前言一、环境搭建必要环境1. 创建yolov10虚拟环境2. 下载pytorch (pytorch版本>1.8)3. 下载YOLOv10源码4. 安装所需要的依赖包 二、推理测试1. 将如下代码复制到ultralytics文件夹同级目录下并运行 即可得到推理结果2. 关键参数 三、训练及评估1. 数据结构介绍2. 配…

kotlin基础之泛型和委托

Kotlin泛型的概念及使用 泛型概念 在Kotlin中&#xff0c;泛型&#xff08;Generics&#xff09;是一种允许在类、接口和方法中使用类型参数的技术。这些类型参数在实例化类、实现接口或调用方法时会被具体的类型所替代。泛型的主要目的是提高代码的复用性、类型安全性和可读…

oracle翻页查询的小坑记录

oracle的查询&#xff0c;因为能获取到查询结果的rownum&#xff0c;就想着直接在查询条件后面做翻页&#xff0c;而且首页确实是正常查询到了。后面才发现翻页是空的。。。 这是因为rownum排序是在查询结果才分配的。所以应该把查询结果作为子查询&#xff0c;在外查询应用排序…

【深度好文】AI企业融合联盟营销,做的好就是最大赢家!

AI工具市场正在迅速发展&#xff0c;现仍有不少企业陆续涌出&#xff0c;那么如何让你的工具受到目标群体的关注呢&#xff1f;这相比是AI工具营销人员一直在思考的问题。 即使这个市场正蓬勃发展&#xff0c;也无法保证营销就能轻易成功。AI工具虽然被越来越多人认可和接受&a…