在我们的日常开发中经常会遇到这种情况:手上有好几个项目,每个项目的需求不同,进而不同项目必须依赖不同版的 NodeJS 运行环境。如果没有一个合适的工具,这个问题将非常棘手。

于是有了我们今天的主角 nvm

卸载全局安装的 node/npm

在官网下载的 node 安装包,运行后会自动安装在全局目录,使用过程中经常会遇到一些权限问题,所以推荐按照以下方法卸载全局安装的 node/npm。

首先,打开你 Finder,按 shift+command+G,打开前往文件夹的窗口,分别输入下列目录进去之后删除 node 和 node_modules 相关的文件和文件夹:

  • 打开 /usr/local/lib,删除 node 和 node_modules 相关的文件和文件夹
  • 打开 /usr/local/include,删除 node 和 node_modules 相关的文件和文件夹
  • 如果你是使用的 brew install node 安装的 NodeJS,那么你还需要在终端中执行 brew uninstall node 命令来卸载
  • 检查你的个人主文件夹下面的所有的 locallib 以及 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,可以使用 cURL 使用安装脚本:

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

或者使用 wget 下载安装脚本安装( 两者选其一即可 ):

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

vnm 常用命令

个人收集,可能不是很全如有其他需要可以去看看 github 的官方文档:https://github.com/nvm-sh/nvm

nvm install 10.16.3
# 安装 v10.16.3 版本的 node

nvm install 10.16
# 这样就会找 v10.16 下面最新的版本安装

nvm ls-remote
# 列出远程服务器上所有的可用版本
	
nvm use 10.11.0
# 切换到 v10.11.0 版本

nvm use 10.11
# 也可以忽略小版本,就会自动找 v10.11 下面最新的版本
	
nvm ls
# 查看已安装的

nvm alias default v10.16.3
# 将 v10.16.3 设置为默认版本,这样每次打开终端就会默认使用这个版本的 node