Mac安装Nvm Node开发环境

转载 · 林中静月下仙 · 2023-01-03 · 原文

1.什么是nvm?

nvm 是 Mac 下的 node 管理工具,可以在同一台电脑上安装多个Node.js版本灵活切换。

2.安装前的准备

  • 卸载已安装到全局的 node/npm
    如果之前是在官网下载的 node 安装包,运行后会自动安装在全局目录,其中 node 命令在 /usr/local/bin/node,npm 命令在全局 node_modules 目录中,具体路径为 /usr/local/lib/node_modules/npm
  • 安装 nvm 之前最好先删除下已安装的 node 和全局 node 模块
npm ls -g --depth=0 # 查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装

sudo rm -rf /usr/local/lib/node_modules # 删除全局 node_modules 目录

sudo rm /usr/local/bin/node # 删除 node

cd  /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm # 删除全局 node 模块注册的软链

3.安装nvm

去官网查看最新版本安装命令:https://github.com/nvm-sh/nvm/blob/master/README.md

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

若安装报错:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

解决办法:

1 通过IPAddress.com首页,输入raw.githubusercontent.com查询到真实IP地址:199.232.68.133
2 Mac OS 系统:打开终端(Terminal)
默认位置在 启动台–>其他–>终端在终端输入以下命令:sudo vi /etc/hosts
3 i 修改,在尾部追加内容:199.232.68.133 raw.githubusercontent.com
4 然后:wq保存即可

安装完成后关闭终端,重新打开终端输入 nvm -v 验证一下是否安装成功,当出现版本号时,说明已安装成功。
如果在新的终端输入 nvm 时提示:command not found: nvm,有可能是以下原因之一:

配置环境变量
你的系统可能缺少一个 .bash_profile 文件,你可以创建一个此文件(可通过vi或vim命令),打开复制粘贴以下代码(安装nvm成功后终端的最好3行代码)进去,保存;
(官网上也说了这几行代码)

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

然后 source 一下 .bash_profile之后再重新打开终端执行nvm -v 验证一下是否安装成功,当出现版本号时,说明已安装成功
source .bash_profile

4.使用nvm(常用命令)

nvm ls :打印出所有的版本
nvm install stable:安装最稳定的版本
nvm install v8.9.2 : 安装node的8.9.2的版本
nvm uninstall v8.9.2 : 删除node的8.9.2的版本
nvm current :当前使用的node版本
nvm use v8.9.2 :将node改为8.9.2版本
nvm alias default 0.12.7:设置默认 node 版本为 0.12.7

NodeJs vs node-sass Version

要安装nvm控制node版本,找到你现在package.json里面对应的node -sass版本以及sass-loader的版本。我找到的是 “node-sass”: “^4.14.1”,和”sass-loader”: “^8.0.2”,然后根据表格安装node 14

https://zhuanlan.zhihu.com/p/459450895

NodeJs Supported node-sass version Node Module
Node 17 7.0+ 102
Node 16 6.0+ 93
Node 15 5.0+,<7.0 88
Node 14 4.14+ 83
Node 13 4.13+,<5.0 79
Node 12 4.12+ 72
Node 11 4.10+,<5.0 67
Node 10 4.9+,<6.0 64
Node 8 4.5.3+,<5.0 57
Node < 8 <5.0 <57