Nodejs多版本切换工具NVM

news2024/12/27 17:11:02

1 nvm介绍

NVM(Node Version Manager)是一个用于管理多个Node.js版本的工具,它允许用户在同一台计算机上安装和切换不同版本的Node.js。这对于开发者来说非常有用,因为不同的项目可能需要不同版本的Node.js环境。

NVM功能特性:

  • 多版本管理:NVM允许你在同一台机器上安装多个版本的Node.js,并在它们之间轻松切换。

  • 一键安装:通过NVM,你可以一键安装最新版本的Node.js,或者安装特定版本的Node.js。

  • 一键卸载:如果需要,NVM也支持一键卸载Node.js。

  • 环境隔离:每个项目可以指定使用特定的Node.js版本,这样可以避免不同项目之间的版本冲突。

  • 自动使用项目版本:NVM可以自动检测项目中的.nvmrc文件,并使用该文件指定的Node.js版本。

  • 跨平台支持:NVM有多个版本,支持Windows、macOS和Linux。

  • 插件支持:NVM支持插件,可以扩展其功能。

  • 简单易用:NVM提供了简单的命令行界面,易于使用。

  • 自动更新:NVM可以配置为自动更新Node.js到最新版本。

  • 兼容性:NVM与npm(Node.js的包管理器)完全兼容,可以无缝管理全局npm包。

使用NVM,开发者可以:

  • 为不同的项目维护不同的Node.js环境。
  • 测试项目在不同版本的Node.js上的行为。
  • 避免全局安装Node.js,这样可以减少对系统环境的潜在影响。

NVM的安装和使用都相对简单,是Node.js开发者常用的工具之一。

2.nvm安装

2.1 下载安装

下载地址

github.com/coreybutler/nvm-windows/releases

下载最新版本的nvm-setup.zip或nvm-noinstall.zip。推荐下载nvm-setup.zip,因为它是安装版,使用起来更简单

选择安装目录

关联nodejs,假如你已经安装了nodejs,会弹窗是否由nvm控制询问框,确认点击就行

安装完成后,打开命令行工具,查看是否成功,如下,出现你已经安装的nodejs版本,就是安装成功了。

C:\Users\ddf-1>
C:\Users\ddf-1>nvm list

  * 16.14.2 (Currently using 64-bit executable)

C:\Users\ddf-1>

2.2 安装问题

安装NVM时可能会遇到的一些常见问题,其解决方案如下:

  • 安装路径中包含空格:这可能导致环境变量设置不正确,从而无法识别Node.js命令。确保安装路径中没有空格。

  • 下载速度慢或失败:由于默认的Node.js和npm镜像服务器在国外,国内用户可能会遇到下载速度慢或失败的问题。可以通过修改NVM的配置文件settings.txt,设置国内镜像源,如淘宝的npm镜像。

  • 权限问题:在安装过程中可能会遇到权限不足的问题,尤其是当尝试在系统路径中写入数据时。确保以管理员身份运行安装程序和命令提示符。

  • Node.js版本安装失败:有时候特定的Node.js版本可能因为依赖问题或其他原因而无法安装。可以尝试安装其他稳定版本或者LTS版本。

  • npm命令找不到:安装Node.js后,可能会发现npm命令无法识别。这可能是因为npm没有正确安装或者其路径没有添加到环境变量中。可以尝试手动下载npm或者通过NVM重新安装Node.js和npm。

  • 证书问题:在安装或更新Node.js时,可能会遇到SSL证书验证失败的问题。这通常是因为系统时间设置不正确或者证书已经过期。检查系统时间并确保其准确,或者更换镜像源。

  • 环境变量配置问题:有时候即使安装了NVM和Node.js,环境变量可能没有正确设置,导致无法在命令行中使用Node.js。需要检查系统环境变量中是否有NVM和Node.js的路径,并确保它们被正确添加。

  • NVM无法识别新安装的Node.js版本:如果NVM无法识别新安装的Node.js版本,可能是因为NVM没有正确更新其版本列表。可以尝试重新启动命令行窗口或者重新运行NVM的安装命令。

  • 使用nvm use命令时出现乱码或错误:这可能是因为NVM的配置文件中设置了错误的字符编码。确保配置文件使用的是UTF-8编码,或者尝试清除NVM的缓存并重新安装。

  • npm镜像问题:如果npm镜像地址过期或不再可用,需要更新npm的镜像地址。可以通过npm config set registry命令来设置新的镜像地址。

3.nvm常见命令

3.1 禁用node.js版本管理

nvm off                     // 禁用node.js版本管理

3.2 启用node.js版本管理

nvm on                      // 启用node.js版本管理

3.3 安装node.js的命名 version是版本号

nvm install <version>       // 安装node.js的命名 version是版本号 例如:nvm install 16.8.1

3.4 卸载node.js是的命令

nvm uninstall <version>     // 卸载node.js是的命令,卸载指定版本的nodejs,当安装失败时卸载使用

3.5 显示所有安装的node.js版本

nvm ls                      // 显示所有安装的node.js版本,当前使用的版本前会带*号

3.6 显示可以安装的所有node.js的版本

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

3.7 切换到使用指定的nodejs版本

nvm use <version>           // 切换到使用指定的nodejs版本

3.8 显示nvm版本

nvm v                       // 显示nvm版本

3.9 安装最新稳定版

nvm install stable          // 安装最新稳定版

3.10 查看帮助信息

nvm help

3.11 更新

nvm update

 

4.nvm使用

在实际使用,需要以管理员身份打开cmd,进行操作。

首先,我们确认下自己的开发使用到的nodejs版本有哪些,使用nvm命令全部安装上

nvm install <version>

其次,在使用的时候用到那个版本,使用命令直接切换

nvm use <version>

配置镜像,提高下载速度

配置nvm使用淘宝的npm镜像以加速下载,可以通过修改nvm安装目录下的settings.txt文件,或者使用命令行配置

nvm npm_mirror https://npmmirror.com/mirrors/npm/
nvm node_mirror https://npmmirror.com/mirrors/node/

5.最后

感谢大家,请大家多多支持!

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

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

相关文章

【Spring】Spring Boot项目创建和目录介绍

1 Spring Boot 介绍 Spring 让 Java 程序更加快速、简单和安全&#xff0c;Spring 对于速度、简单性和生产力的关注使其成为世界上最流行的 Java 框架 Spring 官方提供了很多开源的项目&#xff0c;覆盖范围从 Web 开发到大数据&#xff0c;Spring 发展到了今天&#xff0c;已…

使用Mac高频重复输入时别再傻傻的复制粘贴了,让快捷短语解放你的双手

你在使用Mac的时候&#xff0c;常用的句子、词语、代码都还在自己手动输入吗&#xff0c;当你需要高频的输入同样的内容&#xff0c;手动输入效率太低了&#xff0c;我发现一款实用的工具帮你解决这个问题&#xff0c;快捷短语-高频输入神器&#xff0c;更支持iCloud云备份。 快…

记录一个chatgpt接口站的明文密码泄露漏洞

前言 前段时间看到的一个chatgpt接口网站&#xff0c;注册过后&#xff0c;习惯性的F12看下请求包和响应包&#xff0c;于是就有了这篇文章。 漏洞 查看登录的一系列流量&#xff0c;除了前端界面相关的&#xff0c;一共有三个请求&#xff0c;分别是login&#xff0c;getle…

msvcr110.dll丢失怎么弄,详细介绍4种可靠解决方法

1. msvcr110.dll 简介 1.1 定义及作用 msvcr110.dll 是 Microsoft Visual C 2012 Redistributable Package 的一部分&#xff0c;它是一个动态链接库&#xff08;Dynamic Link Library&#xff09;文件&#xff0c;对于运行使用 Visual C 2012 编译的应用程序至关重要。这个库…

如何在 DAX 中计算多个周期的移动平均线

在 DAX 中计算移动聚合很容易。但是&#xff0c;计算一段时间内的移动平均值时会有一些陷阱。由于其中一些陷阱是定义问题&#xff0c;因此我们必须小心&#xff0c;不要选择错误的方法。让我们看看细节。欢迎来到雲闪世界。 添加图片注释&#xff0c;不超过 140 字&#xff08…

算法笔记(五)——分治

文章目录 算法笔记&#xff08;五&#xff09;——分治快排颜色分类排序数组数组中的第K个最大元素库存管理 III 归并排序数组交易逆序对的总数计算右侧小于当前元素的个数翻转对 算法笔记&#xff08;五&#xff09;——分治 分治算法字面上的解释是“分而治之”&#xff0c;就…

mindsearch run 本地服务

bing_browser.py ~/.conda/envs/mindsearch/lib/python3.10/site-packages/lagent/actions# vim bing_browser.py 修改提示词文件 MindSearch/mindsearch/agent/mindsearch_prompt.py # flake8: noqasearcher_system_prompt_cn """## 人物简介 你是一个可以…

易贝恩副总经理朱洪泽受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 北京易贝恩项目管理科技有限公司副总经理朱洪泽女士受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾&#xff0c;演讲议题为“从手动到智能&#xff1a;项目管理系统助力项目经理提升执行效率”。大会将…

python中的copy方法

记录一下python中的浅拷贝copy和深拷贝deepcopy 例题如下&#xff1a; import copyls [1, 2, [3, 4], 5, 6]ls1 ls.copy()ls2 lsls3 copy.deepcopy(ls)ls[2][1] 0ls.pop(1)ls.append([7, 8])print(ls1) #--------慙1慖print(ls2) #--------慙2慖print(ls3) #------…

windows10或11家庭版实现远程桌面连接控制

远程协助是一种Windows工具&#xff0c;允许控制者使用鼠标和键盘远程控制接受者的计算机&#xff0c;从某种程度上讲&#xff0c;这也是Win10家庭版无法远程桌面的一个有效替代方案。 步骤1. 在使用Windows远程协助之前&#xff0c;您需要先更改某些设置&#xff0c;右键单击…

yolov11模型在bdd100k数据集上的应用【代码+数据集+python环境+训练/应用GUI系统】

yolov8/9/10/11模型在bdd100k数据集上的应用【代码数据集python环境训练/应用GUI系统】 yolov8/9/10/11模型在bdd100k数据集上的应用【代码数据集python环境训练/应用GUI系统】 yolov8/9/10/11模型在bdd100k数据集上的应用【代码数据集python环境训练/应用GUI系统】 bdd100k数据…

Vue3项目开发——新闻发布管理系统(九)(完结篇)

文章目录 十一、用户信息管理1、用户基本资料管理1.1 页面设计1.2 封装接口,更新信息2、更换头像2.1 静态结构2.2 选择图片预览2.3 上传头像3、重置密码3.1 页面设计3.2 封装接口,更新密码十二、项目打包十三、系统全部源码下载十一、用户信息管理 用户信息管理包括功能:基…

软件设计师——信息安全

&#x1f4d4;个人主页&#x1f4da;&#xff1a;秋邱-CSDN博客☀️专属专栏✨&#xff1a;软考——软件设计师&#x1f3c5;往期回顾&#x1f3c6;&#xff1a;软件设计师——计算机网络&#x1f31f;其他专栏&#x1f31f;&#xff1a;C语言_秋邱 ​ 一、加密技术与认证技术…

Redis:初识Redis

Redis&#xff1a;初识Redis Redis 介绍分布式架构Redis特性安装Redis Redis 介绍 在官网中&#xff0c;是如下介绍Redis的&#xff1a; in-memory data store used by millions of developers as a cache, vector database, document database, streaming engine, and messag…

【解锁心灵枷锁】每天焦虑烦躁压抑?这7招助你重拾宁静与阳光!

在这个快节奏、高压力的时代&#xff0c;每个人心中或许都藏着一份不易察觉的焦虑与烦躁&#xff0c;它像一层无形的阴霾&#xff0c;悄悄笼罩着我们的生活&#xff0c;让人感到压抑与无力。但请相信&#xff0c;无论现状多么艰难&#xff0c;总有方法能驱散这些负面情绪&#…

大数据与人工智能:基础与应用的多维思考

大数据与人工智能&#xff1a;基础与应用的多维思考 前言一、时代定位与发展方向二、人工智能的本质与学科融合三、大数据和人工智能的构成要素与大众需求四、计算机系统结构与基础软件的重要性五、研究途径与领域知识的作用六、发展的态度与责任 前言 当下&#xff0c;大数据…

SpringBoot系列 启动流程

文章目录 SpringApplicationSpringApplication#run 启动流程BootstrapContextSpringApplicationRunListenersprepareEnvironmentconfigureEnvironmentconfigurePropertySourcesconfigureProfiles 上下文初始化prepareContextrefreshContextprepareRefreshobtainFreshBeanFactor…

Kotlin 处理字符串和正则表达式(二十一)

导读大纲 1.1 处理字符串和正则表达式1.1.1 分割字符串1.1.2 正则表达式和三引号字符串1.1.3 多行三引号字符串IntelliJ IDEA 和 Android Studio 中三重引号字符串内部的语法高亮显示 1.1 处理字符串和正则表达式 Kotlin 字符串与 Java 字符串完全相同 可以将 Kotlin 代码中创建…

【算法】哈希映射(C/C++)

目录 算法引入&#xff1a; 算法介绍&#xff1a; 优点&#xff1a; 缺点&#xff1a; 哈希映射实现&#xff1a; map unordered_map 题目链接&#xff1a;“蓝桥杯”练习系统 解析&#xff1a; 代码实现&#xff1a; 哈希映射算法是一种通过哈希函数将键映射到数组索…

JAVA基础语法 Day11

一、Set集合 Set特点&#xff1a;无序&#xff08;添加数据的顺序和获取出的数据顺序不一致&#xff09;&#xff0c;不重复&#xff0c;无索引 public class demo1 {public static void main(String[] args) {//1.创建一个集合//HashSet特点&#xff1a;无序&#xff0c;不重…