一、问题背景
新接触的前端项目在 npm install
的过程中,出现了如下问题,经查询发现是 node.js(v16.17.0) 的版本和 node-sass(v14.4.1) 版本不适配造成的
考虑到别的项目也需要用到 node.js 且版本不尽相同,因此寻求可以管理 node.js 版本,在统一平台兼容使用多版本 node.js 的工具,最终找到了 NVM
二、安装&使用
2.1 安装步骤
step 1, 安装前准备
查看并卸载全局 node.js
# 查看全局安装中是否有早前安装的node
npm ls -g --depth=0
# 查看 node 的位置
where node
# 查看 node 版本
node -v
如果存在 node.js
-
从卸载或更改程序中,查找 node.js 并选择卸载;
-
where node
查看是否删除完成; -
检查是否有文件残余。检查以下文件夹,并删除它们(及其内容)。根据您安装的版本,UAC设置和CPU架构,这些可能或可能不存在:
C:\Program Files (x86)\Nodejs
C:\Program Files\Nodejs
C:\Users{User}\AppData\Roaming\npm(或%appdata%\npm)
C:\Users{User}\AppData\Roaming\npm-cache(或%appdata%\npm-cache) -
检查%PATH%环境变量以确保没有引用Nodejs或npm存在;
-
重新启动。非必要步骤,但却是很好的措施(您可能会从任务管理器中杀死所有与节点相关的进程)。
step 2,下载并安装
具体下载链接、安装教程可参考如上官网,
需要注意 !!!
官网默认安装有坑,具体见 踩坑记录
2.2 如何使用
具体命令上述官网可查,下面列出常用的几个命令
- 查看当前 NVM 的版本
nvm -v
> nvm -v
1.1.10
- 安装 node.js,
nvm install xxx
# 安装最新版
> nvm install latest
# 安装指定版本
> nvm install 16.17.0
Downloading node.js version 16.17.0 (64-bit)...
Extracting node and npm...
Complete
npm v8.15.0 installed successfully.
Installation complete. If you want to use this version, type
nvm use 16.17.0
- 卸载 node.js,
nvm uninstall xxx
- 查看已安装的 node.js 版本,
nvm list
、nvm ls
> nvm list
16.17.0
* 14.15.3 (Currently using 64-bit executable)
带 *
表示是当前正在使用的版本
- 切换版本
nvm use xxx
> nvm use 16.17.0
三、踩坑记录
3.1 安装时:请自定义 node.js 的路径
nvm在安装过程中,node.js的默认安装路径是 C:\Program Files\nodejs
,这个路径带有空格,当nvm安装完成,执行nvw install xxx 安装完指定版本后,你满心欢喜的要使用时 nvm use …时会报错!
因此,建议自定义安装路径,并且保证路径中不存在空格!
3.2 NVM 安装完成后:请先修改配置文件
在nvm的安装路径下,找到 setting.txt
并打开
增加下面两行淘宝镜像地址,保存,再执行 nvm install xxx 来安装 node.js
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
之所以这样做,是因为没有配置镜像直接安装时,会出现 node.js 安装成功,但 npm 没成功的情况
附录
[1] NVM官网
[2] CSDN_在windows下切换node版本,很简单!
[3] CSDN_Windows下完全卸载node.js并安装node.js的多版本管理工具nvm-windows