brew、nvm 管理不同版本node(更新npm、yarn、pnpm)

2,054 阅读3分钟

前言

使用node的时候有时候需要切换node版本以复现一些问题,或者是有些库就是需要某些版本才能使用,等等,那时我们需要更换 node,卸载安装新的,那么每次都需要重新搞就很麻烦,如果是有了一个node管理器,那么则会非常方便,这里使用 brew、nvm 来管理 node,个人比较推荐 nvm,毕竟他更专业

brew 管理 node

brew search node

image.png

其中 ✔️ 表示已经安装的 node 版本,其他的都是没有安装的,我们可以通过明显安装需要的版本

//假设我们使用 node 18 版本,这都是稳定版本
brew install node@18

安装某个大版本的的最新版本

brew install node8-lts

取消当前 node 的连接

brew unlink node
brew uninstall node@18

连接到指定 node 版本

brew link node@8

查看node版本

node -v

ps:个人有台电脑切换会报错,不推荐了哈,跟开头一样推荐nvm,除非个人 nvm 怎么也安装不成功

安装nvm

前面介绍 brew 也是为了安装 nvm 时候省点事,直接使用 brew 安装 nvm,如果嫌麻烦可以直接下载安装即可(尤其是windows端比较推荐,可以避免安装环境变量之类的东西)

brew install nvm

.zshrc(.bash_profile) 中 加入环境变量,使 nvm 执行生效

//打开.zscrc文件,结尾追加后面的 export语句
open ~/.zshrc

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

//保存后 source 一下即可
source ~/.zshrc


如果路径还是不对,那么找一下 nvm 目录,使用 brew --prefix nvm

如果nvm找不到那么可能在下面,找到nvm的目录 brew --prefix nvm
/usr/local/opt/nvm 替换掉前面的nvm_dir

//打开.zscrc文件,结尾追加后面的语句
open ~/.zshrc

[ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh"
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm"

//保存后 source 一下即可
source ~/.zshrc

为什么路径不同?下面是 ai 给我的回答

-   **M1/M2 芯片(ARM 架构)** :Homebrew 默认安装到 `/opt/homebrew`。
-   **Intel 芯片(x86_64 架构)**  或 **通过 Rosetta 2 运行的 Homebrew**:安装到 `/usr/local`。

你的情况属于后者,因此 NVM 的路径与标准 M1 安装不同。

列出所有 node 版本(太多了)

nvm ls-remote

安装指定版本

nvm install 版本号(22.17.0)

卸载指定版本

nvm uninstall 版本号(22.17.0)

临时切换指定版本,关闭终端后恢复默认

nvm use 版本号(22.17.0)

设置为默认版本

nvm alias default 版本号(22.17.0)

安装最新 lts 稳定版本

nvm install lts

一口气安装常见的 LTS 版本

nvm install 22.17.0 && nvm install 20.15.0 && nvm install 16.20.2 && nvm install 18.20.3 && nvm install 14.21.3 && nvm install 12.22.12 && nvm install 10.24.1 && nvm install 8.17.0

查看node版本

nvm current
//已经安装了node,可以直接使用node指令
node -v

查看node位置

where node

如果出现yarn问题,重新安装

npm install -g yarn

//重装有点问题,清理一下缓存,再重装试试
npm cache clean --force
yarn cache clean

更新 npm、yarn、pnpm

安装完毕node默认就带 npm,可以直接使用npm更新npm,也可以使用npm更新yarn

npm install -g npm@latest
npm install -g yarn@latest
npm install -g pnpm@latest

如果 npm 搞出问题了,可以尝试使用 brew 安装,尤其是mac系统

brew install npm
brew install yarn
brew install pnpm

也可以使用 brew 更新 npm、yarn

brew upgrade npm
brew upgrade yarn
brew upgrade pnpm

pnpm多介绍一点,其使用和 npm、yarn类似,其相比npm、yarn,其会查找共享依赖,使用同一个依赖,缺点也很明显,多人开发多个项目版本不一样时,也容易出现问题

pnpm install 包名
pnpm add 包名
pnpm add 包名 -D //dev分支
pnpm remove 包名