前言

之前一直在用windows上开发 用nvm管理node版本 可以一个窗口使用一个node版本 还可以对node版本起别名 直接用别名切换 非常方便

最近在mac上也需要开发 但是在mac上使用nvm的方法和windows上使用的方法有点不一样 特此记录一下

安装之前

我的mac升级到了新版本 macOS Monterey, 版本号12.4

建议与我的环境一样 至少大版本与我的一样 然后全新安装,至少系统本身不要再有node环境了 把node卸载干净

安装

安装git

nvm需要有git环境 请确保本地有git

验证方法: 在终端输入: git

如果是这样 说明已经有git了 可以直接跳到下一步

如果有这个提示说明本地还没有安装git


按照提示走进行安装即可

如果这个系统自带的git安装网络缓慢 可以从我这里下载xcode命令行安装包

也可以自行去官网下载最新xcode

安装nvm

打开终端 输入下方命令新建mac使用的zsh的环境变量文件

cd ~
touch .zshrc

然后直接上nvm的github地址: https://github.com/nvm-sh/nvm#installing-and-updating
找到安装命令 复制安装命令到终端执行

也可以直接复制下面的命令(注意版本)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
国内网络有干扰 请在终端设置好代理 你懂的

要是本地没有梯子 访问不到github地址或者脚本地址, 本人提供一个反向代理, 低调使用禁止宣传!

使用方法:

将命令里的url里的 raw.githubusercontent.com 替换为 magicrawgithubusercontent.wlnxing.com 比如上面提供的安装命令就替换为了:

curl -o- https://magicrawgithubusercontent.wlnxing.com/nvm-sh/nvm/v0.39.1/install.sh | bash
其他脚本需要代理的都可以这么替换
Note: 这个反代会替换脚本内容里的 raw.githubusercontent.commagicrawgithubusercontent.wlnxing.com, 由于是暴力替换 因此可能会有一些没有预料到的问题.

这是安装完成的截图:

安装完成后 直接输入nvm即可验证安装

如果新开一个窗口 使用nvm提示命令没找到的话 大概率是环境变量设置有问题 建议手动在.zshrc文件里贴上一下命令:

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

保存后command + Q 完全退出终端或者直接重启电脑后再打开终端

换源(可选)

国内的环境node下载非常慢 建议将node下载地址更换为淘宝源

直接在命令行输入:

echo export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node >> .zshrc

即可

使用方法及一些技巧

安装多个版本

  • 列出所有node版本: nvm ls-remote node
  • 下载(安装)制定版本node: nvm install 版本号
    如: nvm install v12.10.0

    Note: nvm install xxx 后 如果当前没有安装过node, 那么会自动设置当前的默认node版本为安装的这个node版本
  • 列出已经下载(安装)的版本: nvm ls

切换不同版本

  • 给node版本起一个别名: nvm alias 别名
    如: nvm alias vue3
  • 在一个窗口临时使用一个版本: nvm use 版本号/别名
    如: nvm use v12.10.0 或者 nvm use vue3
  • 设置默认node版本: nvm alias default 版本号/别名
    如: nvm alias default v16.16.0 或者别名方式: nvm alias default vue3

Note:
nvm use xxxx 命令只会在当前命令行窗口切换版本, 如果重新打开窗口需要重新 nvm use xxx 一次.
如果项目需要固定一个ndoe版本又不想记忆的话,可以在项目目录中创建 .nvmrc 文件来指定这个文件夹使用的ndoe版本 这样在use时就不用带上版本号了.
这一套组合拳下来 我就可以多个窗口同时使用多个node版本了, 简直不要太爽~

个人比较推荐给版本都起上别名, 这样在切换版本时直接根据别名切换就行了 不用记忆版本号

  • 在使用低版本node时, 如果报这个错误: bad CPU type in executable: node is:closed 这是因为低版本node没有arm版本 不过可以通过安装转义工具解决: 命令行输入: softwareupdate --install-rosetta 安装后重启终端即可
最后修改:2022 年 07 月 27 日
如果觉得我的文章对你有用,请随意赞赏