nvm安装、管理node多版本以及配置环境变量【保姆级教程】

引言

不同的项目运行时可能需要不同的node版本才可以运行,由于来回进行卸载不同版本的node比较麻烦;所以需要使用node工程多版本管理。
本人在配置时,通过网络搜索教程,由于文章时间过老,或者文章的互相拷贝导致配置时出现许多小问题,但最后也是配置成功了,想写下此文章帮助小伙伴们排除错误,节省各位宝贵的时间,如有问题欢迎留言讨论~

注意:安装nvm时不能安装任何node版本(如存在请删除后再安装nvm),再检查环境变量,如果还有node.js相关也删掉,保证系统无任何node.js 残留。
卸载完之后cmd命令行输入 node -v 查看是否还能查到node信息,无的话表示删除干净。

安装前准备

  • 若已安装Node.js,需彻底卸载避免冲突

1.控制面板卸载:进入控制面板 → 卸载Node.js程序。
2.删除残留文件:

  • 删除安装目录:C:\Program Files\nodejs(或自定义路径)
  • 删除用户目录下的.npmrc文件:C:\Users\用户名
  • 清理以下目录(若存在):
C:\Program Files (x86)\Nodejs  
C:\Users\用户名\AppData\Roaming\npm  
C:\Users\用户名\AppData\Roaming\npm-cache

3.检查卸载结果:

node -v  # 若提示“找不到命令”则表示卸载成功

一、Nvm的下载与安装

1.1 Nvm下载

很多博主给的是GitHub上的下载地址,但是在国内访问速度非常慢,大家可以通过本人的网盘地址下载。点击下载Nvm,提取码:B66S

1.2 Nvm的安装与配置

1.安装准备(示例:本人在D盘下创建了Nvm文件夹,并在该文件夹下创建了nodejs文件夹)
在这里插入图片描述
2.双击运行 nvm-setup.exe
在这里插入图片描述

3.选择nvm安装路径(示例:D:\nvm,避免中文和空格)
在这里插入图片描述

4.设置Node.js存储路径(示例:D:\nvm\nodejs)
在这里插入图片描述

5.配置镜像加速(避免下载失败)

打开nvm安装目录下的 settings.txt 文件,添加以下内容:
在这里插入图片描述

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

(旧版淘宝镜像 registry.npm.taobao.org 证书已过期,需替换为该域名)
6.环境变量配置
1.右击此电脑点击属性
2.选择高级系统设置
3.点击环境变量
4.查看环境变量是否配置(默认nvm安装成功后,自动生成)
在这里插入图片描述

1.3 验证Nvm是否安装成功

完成安装后,以管理员身份打开CMD,输入 nvm -v 验证是否成功
在这里插入图片描述

二、使用Nvm安装node

2.1 相关命令

nvm list available    # 查看可下载的node版本
nvm install v    #下载node指定版本 v(版本号) 如:nvm install 20.11.1
nvm list    #查看已下载的node版本
nvm use v    #使用node指定版本 注:use指令需要使用管理员权限
nvm uninstall v #卸载指定版本 如:nvm uninstall 20.11.1

2.2使用Nvm安装node

1.win + R,调用cmd
安装完成后开始插入nodejs首先使用 nvm list available 查询可插入版本号,LST表示可插入稳定版本。【如未指定版本,建议安装LTS下的版本】
在这里插入图片描述
2.安装指定node.js版本(这里根据需求选择)
点我查看node相关版本号

nvm install 18.16.0 #根据自己的需求选择版本号

在这里插入图片描述
3.安装完成后使用nvm use v命令使用安装的node版本
可以分别输入命令行 node -vnpm -v,检验node.js以及对应npm是否安装成功
在这里插入图片描述
4.nvm list 查看当前已安装的node.js版本,带*号的是正在使用的
在这里插入图片描述
5.安装成功后的文件夹显示
在这里插入图片描述

***马上成功了,请坚持一下!***

2.3 修改npm默认镜像源为淘宝镜像

修改npm镜像源为淘宝镜像,加快npm包的下载速度,减少发生连接错误和超时的概率。

1.在命令提示窗口运行下面命令

npm config set registry https://registry.npmmirror.com

2.检查是否设置淘宝镜像成功

npm config get registry

在这里插入图片描述

三、配置node环境变量

3.1创建目录

在Node.js存储路径下新建 node_global 和 node_cache 文件夹
在这里插入图片描述

3.2 设置npm全局路径:

npm config set prefix "D:\nvm\nodejs\node_global"
npm config set cache "D:\nvm\nodejs\node_cache"

3.3 配置环境变量path

  1. 编辑用户变量中的Path

在这里插入图片描述

注意:【用户变量】中的path变量,%NVM_HOME% 和 %NVM_SYMLINK% 理论上是nvm安装成功后自动生成的。> 如果有C:UsershuaAppDataRoaming npm,则将其修改为D:\NVM\node_global,如果没有就自己新建D:\NVM\node_global,总之保证有以上内容。

  1. 再设置系统变量 — Path变量的设置和用户变量中一致
    在这里插入图片描述

3.4 添加系统变量:

  • 新建 NODE_HOME → 值:D:\nvm\nodejs
    在这里插入图片描述
    D:\tools\nodejs\node_global\node_modules 就是上面创建的全局模块安装路径文件夹
    点击三次确定,完成环境变量配置!!!
    点击三次确定,完成环境变量配置!!!
    点击三次确定,完成环境变量配置!!!

四、测试安装全局模块(测试环境变量配置)

  • 测试是否环境变量是否配置成功,在cmd窗口中输入以下指定全局安装express模块
npm install -g express

在这里插入图片描述

  • 安装成功的话表示环境变量配置成功
    在这里插入图片描述

五、安装Vue

1.确保配置了淘宝的镜像源,可以用npm config get registry进行测试
2.安装vue、vue-cli、webpack

npm install vue -g
npm install vue-cli -g
npm install webpack -g

3.检查Vue是否安装成功
使用vue -V命令
返回版本号则说明安装成功,注意V是大写,小写不成功
在这里插入图片描述

六、扩展:使用 nrm 来管理 npm 源

6.1 nrm的概念

nrm 允许开发者通过命令行工具轻松管理多个 npm 镜像源(如淘宝、腾讯云、华为云等),并支持一键切换,无需手动修改 npm config。
提供源测速功能(nrm test),帮助选择响应最快的镜像。

我们可以使用 nrm 来管理 npm 源,特别是当需要在不同的网络环境之间切换时,它可以提供更好的包管理体验。一般国内就是用淘宝源,所以这部分了解即可

6.2 使用 nrm 来管理 npm 源

1.全局安装(需 Node.js 环境)

npm install -g nrm

2.核心操作命令

nrm ls #查看所有源(带 * 为当前使用源)
nrm use taobao  # 切换到淘宝源(推荐国内使用)
nrm test          # 测试所有源延迟
nrm test taobao   # 仅测试淘宝源
nrm add my-registry http://私有源地址  # 示例:企业私有源
nrm del my-registry  # 删除指定源
nrm current #当前正在使用的 npm 源

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

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

相关文章

框架--Mybatis3

一.特殊符号处理 < < > > " &quot; &apos; & &amp; 除了可以使用上述转义字符外&#xff0c;还可以使<![CDATA[ ]]>用来包裹特殊字符。 二.mybatis 一级缓存二级缓存 1.为什么缓存 缓存&#xff1a;数据缓存&#xf…

纯新手教程:用llama.cpp本地部署DeepSeek蒸馏模型

0. 前言 llama.cpp是一个基于纯C/C实现的高性能大语言模型推理引擎&#xff0c;专为优化本地及云端部署而设计。其核心目标在于通过底层硬件加速和量化技术&#xff0c;实现在多样化硬件平台上的高效推理&#xff0c;同时保持低资源占用与易用性。 最近DeepSeek太火了&#x…

Netty入门详解

引言 Netty 是一个基于 Java 的高性能、异步事件驱动的网络应用框架&#xff0c;用于快速开发可维护的高性能网络服务器和客户端。它提供了一组丰富的 API&#xff0c;使得开发人员能够轻松地处理各种网络协议&#xff0c;如 TCP、UDP 等&#xff0c;并且支持多种编解码方式&a…

物联网简介集合

物联网&#xff08;IoT&#xff09;指的是物理设备&#xff08;如电器和车辆&#xff09;之间的互联互通。这些设备嵌入了软件、传感器和连接功能&#xff0c;使其能够相互连接并交换数据。这项技术实现了从庞大的设备网络中收集和共享数据&#xff0c;为打造更高效、自动化的系…

【分布式理论11】分布式协同之分布式事务(一个应用操作多个资源):从刚性事务到柔性事务的演进

文章目录 一. 什么是分布式事务&#xff1f;二. 分布式事务的挑战三. 事务的ACID特性四. CAP理论与BASE理论1. CAP理论1.1. 三大特性1.2. 三者不能兼得 2. BASE理论 五. 分布式事务解决方案1. 两阶段提交&#xff08;2PC&#xff09;2. TCC&#xff08;Try-Confirm-Cancel&…

【Quest开发】全身跟踪

软件&#xff1a;Unity 2022.3.51f1c1、vscode、Meta XR All in One SDK V72 硬件&#xff1a;Meta Quest3 最终效果&#xff1a;能像meta的操作室沉浸场景一样根据头盔移动来推断用户姿势&#xff0c;实现走路、蹲下、手势匹配等功能 需要借助UnityMovement这个包 GitHub …

AI全栈开发_人工智能AI大模型 Prompt提示词工程详解(全方位介绍及运用)

AI引领的第四次工业革命正席卷而来&#xff0c;如何精准把握这一历史性的机遇&#xff0c;将成为我们这一代人不容忽视且需深入思考与积极行动的重要课题。未来几年AI将会像计算机一样快速普及&#xff0c;面对这一历史性的第一波红利&#xff0c;你是否已准备好把握机遇&#…

小米平板怎么和电脑共享屏幕

最近尝试使用小米平板和电脑屏幕分屏互联 发现是需要做特殊处理的&#xff0c;需要下载一款电脑安装包&#xff1a;小米妙享 关于这个安装包&#xff0c;想吐槽的是&#xff1a; 没有找到官网渠道&#xff0c;是通过其他网络方式查到下载的 不附录链接&#xff0c;原因是因为地…

java | MyBatis-plus映射和golang映射对比

文章目录 Java实体类和数据库的映射1.默认驼峰命名规则2.自定义字段映射3.关闭驼峰命名规则4.JSON序列化映射 Golang1. 结构体与表的映射2. 字段与列的映射3. 关联关系映射4. 其他映射相关标签 这篇也是做数据库映射方面的对比&#xff1a; Java 实体类和数据库的映射 1.默认…

讯方·智汇云校华为官方授权培训机构

1.官方授权 讯方智汇云校是华为领先级授权培训机构&#xff08;华为授权培训合作伙伴&#xff08;HALP&#xff09;体系&#xff0c;分为认证、优选、领先三个等级&#xff0c;领先级是HALP最高级&#xff09;&#xff0c;代表着华为对培训合作伙伴在专业能力、师资队伍、合作…

避免踩雷!CUDA与Anaconda兼容性配置完全手册

CUDA与Anaconda深度学习环境配置指南 目录 核心概念解析安装场景分析版本冲突处理最佳实践指南常见问题解答 核心概念解析 1. 组件对比表 组件作用域包含内容查看方式NVIDIA驱动系统级GPU底层通信支持nvidia-smiCUDA Toolkit系统级完整开发工具链(nvcc等)nvcc --versioncon…

掌握.NET Core后端发布流程,如何部署后端应用?

无论你是刚接触.NET Core的新手还是已有经验的开发者&#xff0c;在这篇文章中你将会学习到一系列实用的发布技巧与最佳实践&#xff0c;帮助你高效顺利地将.NET Core后端应用部署到生产环境中 目录 程序发布操作 Docker容器注册表 文件夹发布 导入配置文件 网站运行操作 …

一周学会Flask3 Python Web开发-request请求对象与url传参

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili request请求对象封装了从客户端发来的请求报文信息&#xff0c;我们可以从中获取所有数据。 request对象包含的常用属性&…

2025年2月深度实测!DeepSeek、OpenAI o1、Gemini打造爆款应用及对比

我在网上看到了关于DeepSeek R1的各种说法,这是一个开源模型,其能力即便不比OpenAI o1等付费模型强,也与之相当: 由于我在日常工作中广泛使用这些人工智能模型(使用Cursor AI),我决定看看哪种模型最适合我。 在进行了200次Cursor请求后,我将分享我的实验结果。 一、…

OpenCV机器学习(6)朴素贝叶斯分类器(Naive Bayes Classifier)cv::ml::NormalBayesClassifier的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::ml::NormalBayesClassifier 是 OpenCV 机器学习模块中的一部分&#xff0c;用于实现朴素贝叶斯分类器&#xff08;Naive Bayes Classifier&a…

LLaVA-CoT: Let Vision Language Models Reason Step-by-Step论文解读

文章目录 前言一、摘要一、引言二、文献综述1. Visual reasoning with large language models2. Chain-of-thought in large language models3. Inference time scaling 三、方法1. Enhancing Reasoning Capability through Structured Thinking1. Reasoning Stages2. Data Pre…

Linux 和 Windows 区别

1. 文件组织 (1)目录结构 Linux:采用**单一根目录(/)**结构,所有文件和设备都挂载在这个目录下。 典型目录: /home/(用户目录)/etc/(配置文件)/bin/(系统可执行文件)/dev/(设备文件)/mnt/(挂载点)Windows:采用多个驱动器(C:\, D:\),每个分区是一个独立的…

java基础语知识(8)

类之间的关系 在类之间&#xff0c;最常见的关系有&#xff1a; 依赖&#xff08;“uses-a”&#xff09;;聚合&#xff08;“has-a”&#xff09;;继承&#xff08;“is-a”&#xff09;。 依赖&#xff1a;一种使用关系&#xff0c;即一个类的实现需要另一个类的协助&#x…

Linux系统中常见的词GNU是什么意思?

GNU 是 “GNU’s Not Unix” 的递归缩写&#xff0c;它是一个自由软件项目&#xff0c;旨在创建一个完全自由的操作系统。这个名字反映了GNU项目的核心理念&#xff1a;它试图创建一个类Unix的系统&#xff0c;但不是Unix本身。 GNU 项目由 理查德斯托曼&#xff08;Richard S…

安卓burp抓包,bypass ssl pinning

好久好久没有发东西了。主要是懒。。。 这几天在搞apk渗透&#xff0c;遇到了burp无法抓包问题&#xff0c;觉得可以写下来。 问题描述 1. 一台安卓手机&#xff0c;装了面具&#xff0c;可以拿到root 2. 电脑上有burp&#xff0c;设置代理 3.手机和电脑连同一个网段&…