Mac系统下安装nvm与切换node教程,用于方便管理vue2和vue3项目

947 阅读3分钟

前言

电脑信息:MacBookPro M1 macOS Sequoia 15.4

楼主经历了homebrew、nvm官方安装等方式都没安装成功,曲折颇多,好在查了大量帖子总算完成了。秉持互联网精神写个总结分享,希望对后续看到的人有所帮助。

在安装前先卸载原有的node

  • 查看 node 全局安装目录 /usr/local/bin/node
which node
  • 删除 /usr/local/lib/usr/local/include 目录下的 node 和 node_modules 相关文件和文件夹
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /usr/local/include/node /usr/local/include/node_modules
  • 如果使用的 brew install node 安装的 node,还需要卸载 node
brew uninstall node

最后运行下面命令,彻底卸载全局安装的 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

  1. 检查home文件夹目录下是否有.nvm文件夹和.zshrc文件,它们是隐藏的,按shift + command + .查看隐藏。

image.png

没有的话就创建

mkdir .nvm
touch .zshrc
  1. 打开
open -e .zshrc

将这段代码粘贴到.zshrc文件里

export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

image.png

  1. 进入 ~/.nvm 本地文件夹
cd .nvm
  1. 克隆 nvm 项目代码到 .nvm 文件夹内
git clone git@github.com:nvm-sh/nvm.git

如果电脑没有安装git到话,直接去github下载zip包,解压放到该目录也行

image.png

  1. 重启一个命令窗口或执行下面命令让它生效
source ~/.zshrc
  1. 查看是否安装成功
nvm --version

二、安装管理vue3项目的node版本

  1. 安装指定 node 版本,这里可以改成自己想要的版本号,或者用nvm install node安装最新版本
nvm install 18.20.8
  1. 检查node安装是否成功
node -v

三、安装管理vue2项目的node版本

因为 Node.js 官方并没有为 darwin-arm64 提供预编译二进制文件。 对于 M1/M2 芯片的 Mac,nvm 会尝试下载 darwin-arm64 版本,但由于文件不存在,会出现一些错误。

可以通过 Rosetta 2 安装并运行 x64 架构的 Node.js 14

  1. 打开 Finder,找到你的终端应用(例如:Terminal 或 iTerm2), 右键点击终端应用,选择 "显示简介" ,勾选 "通过 Rosetta 打开",关闭窗口,然后重启终端,这样终端会以 x64 模式运行。

image.png

image.png

会发现 arch 结果是 i386架构

image.png

  1. 然后安装node14
nvm install 14
  1. 查看nvm已安装的node
nvm ls

image.png

三、切换node版本

1.使用nvm use 14nvm use 18进行版本切换

image.png

一个小问题:

如果nvm设置的默认node是18,那使用nvm use 14切换14后,只在当前终端有效。如果关闭终端或打开新的终端,还是默认18,可使用下面指令改变默认版本

nvm alias default XXX

这样再新开窗口node就是你默认指定的版本了

如果后续有更好的方式,欢迎留言补充

参考帖子:

【Mac 下 nvm 安装管理 Node 版本】juejin.cn/post/701142…

【解决 Mac(M1/M2)芯片,使用node 14版本】www.cnblogs.com/niuben/p/18…

【Mac中nvm切换node版本失败】www.cnblogs.com/xuepangpang…