前言
之前一直在用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.com
为magicrawgithubusercontent.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
安装后重启终端即可
2 条评论
抱歉了,交个作业
nihoa