使用nvm管理node多版本(安装、卸载nvm,配置环境变量,更换npm淘宝镜像)

前言

基于 windows环境 使用nvm安装多版本nodejs, 此文章作为记录,并对 参考文章 做些补充

注意: 如果电脑上已经安装了任意node版本,需要将其相关文件及环境变量清理干净后再安装nvm, 保证电脑内没有任何nodejs的残留

一、卸载node

如果已经安装了node,那么在安装nvm之前,需要先卸载node,如果没有安装可以直接跳过这一步到下一步了。

删除前可查当前使用的node版本,方便后续决定使用哪个版本的node。

  • 控制面板 -> 卸载程序 -> 卸载nodejs

为了确保彻底删除node,看下node安装目录中还有没有node文件夹,有的话一起删除。

删除以下文件夹(如果存在的话)

  • C:\Program Files (x86)\Nodejs
  • C:\Program Files\Nodejs
  • C:\Users{User}\AppData\Roaming\npm
  • C:\Users{User}\AppData\Roaming\npm-cache
  • 删除C:\Users\用户名 下的 .npmrc文件以及 .yarnrc 文件
  • 环境变量中npm、node的所有相关统统删掉

二、nvm是什么?

nvm(node.js version management),是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js 各种版本存在不兼容现象 可以通过它可以安装和切换不同版本的node.js。【可同时在一个环境中安装多个node.js版本(和配套的npm)】


三、nvm安装

1.官网下载 nvm 包

github.com/coreybutler... 选最新版本进入即可

2. 安装nvm-setup.exe

上面nvm和nodejs默认安装地址都是C盘,我们最好换成其他的盘,我是换成D盘。

并且注意安装路径的文件夹名称不要出现中文,空格等,否则后期npm使用的时候会出现符号格式不正确问题。

3. 配置路径和下载镜像

安装完 nvm 后来配置一下下载源 找到nvm安装路径 -> 找到setting.json文件 -> 将下面文本覆盖上去

txt 复制代码
root: D:\nvm
path: D:\nodejs
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

第一行是 nvm 安装路径 第二行是 nodejs 路径 第三行是 node 下载镜像 第四行是 npm 下载镜像

4. 检查安装是否完成

win+R,调用cmd,输入nvm,如下图则表示安装成功


四、 使用nvm安装node

管理员身份运行终端 , 先查询可使用版本号, 终端输入nvm list available, LST代表稳定版本

  1. 安装指定node版本
shell 复制代码
nvm install 20.13.1 
  1. 安装完成后可以分别输入命令行 node -vnpm -v,检验是否安装成功
  1. nvm list 查看已安装nodejs版本, * 号表示正在使用
  1. 删除某nodejs版本
shell 复制代码
nvm uninstall node版本号  //例如:nvm uninstall 16.14.0)即可删除对应版本

五、修改npm默认镜像源为淘宝镜像

shell 复制代码
npm config set registry https://registry.npmmirror.com/

检查是否设置成功, 应该返回 registry.npmmirror.com/

shell 复制代码
npm config get registry 

六、环境变量配置

1. 新建目录

  1. 为了防止nvm切换node版本之后全局安装的包无法使用 ,我们直接在nvm目录下创建"node_cache""node_global"文件夹
  1. 打开命令行工具, 输入下面两句指令
shell 复制代码
npm config set prefix "D:\nvm\node_global"
npm config set cache "D:\nvm\node_cache"

想查看是否设置成功使用

shell 复制代码
npm config get prefix
npm config get cache

2. 设置环境变量

我的电脑右键 -> 属性 -> 高级系统设置 -> 系统属性(高级) -> 环境变量

如果环境变量未正确配置,输入node -v 会报错,系统将无法正确识别"node"命令。

需要我们设置的地方有两个:

  1. 系统环境变量 新增NODE_PATH变量
  2. 用户变量 修改path变量
  1. 在[系统环境变量]新建环境变量NODE_PATH值为D:\nvm\node_global\node_modules
  1. 修改[用户变量]中的path变量
  1. 另外, 在下载完nvm后, 系统环境变量和用户环境变量会默认配置好NVM_HOMENVM_SYMLINK
  1. 点击确定后配置完成

七、测试安装全局模块

在cmd窗口中输入以下指令全局安装http-server模块, 安装成功就表示环境变量配置成功

sheel 复制代码
npm install http-server -g

八、测试切换node版本全局模块是否存在

  • 当前node版本运行 http-server
  • 切换版本后重新运行
  • 测试完成,可以看到切换node版本后全局模块依然可以使用
相关推荐
2301_818732062 小时前
安装了node,但是cmd找不到node和npm,idea项目也运行失败 已解决
前端·npm·node.js
Benny的老巢5 小时前
【n8n工作流入门02】macOS安装n8n保姆级教程:Homebrew与npm两种方式详解
macos·npm·node.js·n8n·n8n工作流·homwbrew·n8n安装
2301_818732066 小时前
下载nvm后,通过nvm无法下载node,有文件夹但是为空 全局cmd,查不到node和npm 已解决
前端·npm·node.js
亮子AI7 小时前
【MySQL】node.js 如何判断连接池是否正确连接上了?
数据库·mysql·node.js
a程序小傲7 小时前
【Node】单线程的Node.js为什么可以实现多线程?
java·数据库·后端·面试·node.js
程序员爱钓鱼1 天前
Node.js 编程实战:测试与调试 —— Mocha / Jest / Supertest 使用指南
前端·后端·node.js
冴羽1 天前
JavaScript Date 语法要过时了!以后用这个替代!
前端·javascript·node.js
张洪权1 天前
node fs 模块核心 api
node.js
天远数科1 天前
Node.js全栈实战:构建基于天远多头借贷行业风险版API的BFF风控层
大数据·node.js
_Kayo_1 天前
Node.js 学习笔记6
笔记·学习·node.js