由于项目需求,将电脑中已经安装的 node 版本升级了,结果对老版本的项目不支持,需要降级 node 版本,这样一来,针对不同的项目需要不同版本的 node ,总不能每次都升级降级 node 版本吧,于是发现了 nvm 这个 node 版本管理工具,那是相当好用,在安装的时候,遇到了一些问题,这里做一下笔记记录一下。

卸载全局 node/npm

首先安装nvm之前,先将本机电脑的 node 卸载,操作如下:

  • 打开 /usr/local/lib,删除 node 和 node_modules 相关的文件和文件夹
  • 打开 /usr/local/include,删除 node 和 node_modules 相关的文件和文件夹
  • 如果你是使用的 brew install node 安装的 NodeJS,那么你还需要在终端中执行 brew uninstall node 命令来卸载
  • 检查你的个人主文件夹下面的所有的 local、lib 以及 include 文件夹,并且删除所有与 node 和 node_modules 相关的文件以及文件夹
  • 打开 /usr/local/bin 并删除 node 可执行文件

你可能还需要在你的终端中输入一些额外的指令:

sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /opt/local/bin/node
sudo rm /opt/local/include/node
sudo rm -rf /opt/local/lib/node_modules

安装 nvm

找到 nvm 的官网,进行安装。

地址:GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versionsicon-default.png?t=M5H6https://github.com/nvm-sh/nvm#installing-and-updating

按照步骤,开始安装,官网提供的安装方式有两种:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash 

  wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

这里,我使用的是第一种:

在命令窗口执行命令的时候,报出异常:

Failed to connect to raw.githubusercontent.com port 443: Connection refused

经过查找,为域名被污染,需要进行本地 hosts 修改,进行绑定。那么就需要我们知道它在网络上面对应的真实 IP 地址,通过下面的网站,可以查到:

地址:https://www.ipaddress.com/

查询结果如图:

下面,进行修改本地 hosts,绑定我们上一步查到的IP 信息:

sudo vim /etc/hosts

内容如下:

4 × IPv4 and 4 × IPv6 raw.githubusercontent.com

 绑定好之后,重新执行命令,发现正常了,如上图。

安装好 nvm 后,先通过 nvm -v 查看一下版本:

 设置一下国内镜像地址:

export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

下面,继续通过 nvm 来安装自己需要的 node 版本,可以通过 nvm ls-remote 命令查看都有哪些版本:

 选择一个需要的版本,使用命令: nvm isntall 【版本号】 进行安装:

如果感觉上面的命令找版本不方便,也可以使用 node.js 官网提供的历史版本进行查找:

以往的版本 | Node.js

 等安装完之后,使用 nvm ls 命令,可以查看自己当前电脑中已安装的版本列表:

到这里,nvm 工具,安装完成!!

nvm 常用命令

-- 卸载指定版本

nvm uninstall 【版本号】

-- 切换 node 版本

nvm use 【版本号】

-- 查看当前正在使用的node版本

nvm current

-- 切换指定版本号的 node 为默认版本,每次新建的命令行中就是默认的版本了

nvm alias default 【版本号】

还有其他很多命令,感兴趣的,可以直接到官网进行查阅。

Logo

一站式 AI 云服务平台

更多推荐