对于公司不同的新老项目,可以使用nvm管理不同版本的node和npm,来贴合项目开发
Mac:
1、首先先卸载node及相关模块,避免出现不必要的冲突
在终端中按照命令一条一条执行即可
# 查看已经安装在全局的模块
npm ls -g --depth=0
# 删除全局 node_modules 目录
sudo rm -rf /usr/local/lib/node_modules
# 删除 node
sudo rm /usr/local/bin/node
# 删除全局 node 模块注册的软链
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm
2、安装 nvm
安装命令
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
- 安装完成后进入用户的home目录
cd ~/
(
编辑.bash_profile和.zshrc文件,如果没有这两个文件,可以在与.nvm文件夹同级的目录下创建,如,我的.nvm文件夹是在/User/admin 下,那么我创建的这两个文件也在/User/admin 下
macOS苹果系统开启显示隐藏文件的方法:
defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder
关闭显示隐藏文件的方法:
defaults write com.apple.finder AppleShowAllFiles FALSE ; killall Finder
打开Mac搜索按钮:

特别注意.bash_profile这个文件,是文稿而不是文本文件,如果显示是文本文件那就-显示简介-修改去掉.txt后缀名

)
- 检查配置文件,查看有没有
.zshrc这个文件
ls -a
如果没有,新建这个配置文件
touch ~/.zshrc
配置.zshrc文件,将 nvm 环境变量添加到 shell 中, 这里我系统默认的是的zsh而不是bash,需要配置一下,打开.zshrc文件:
open -e .zshrc
添加内容,然后保存:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
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
// 同时,为防止安装后执行nvm ls-remote出现N/A,需在.zshrc中添加如下镜像配置:
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node/
export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs
加载配置文件,使其生效:
source ~/.zshrc
打开.bash_profile文件
open -e .bash_profile
配置.bash_profile文件:
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
souece ~/.zshrc
此时,在终端中执行nvm成功
- nvm ls


设置默认node版本: nvm alias default 版本号
- 安装node:
nvm install 版本号:nvm i 14,这样简写就行
(例如:nvm install 14.21.3 我这里可以直接成功安装低版本)
到这基本就安装成功了,如果出现不成功的情况:

解决办法
将 shell 的体系结构从 arm64 更改为 x86:
arch -x86_64 zsh
再使用命令安装node:
nvm install 版本号
如果 NVM下载node 或者 arch -x86_64 zsh的时候出现 Bad CPU type in executable 错误
执行命令:
先softwareupdate --install-rosetta,然后再运行arch -x86_64 zsh就好了
nvm常用命令:
nvm -v 查看版本号
设置默认node版本:
nvm alias default 版本号
# 列出所有已经安装的版本
nvm ls
# 切换使用指定的版本
nvm use 版本号;nvm use 21
# 显示当前使用的版本
nvm current
安装node
nvm install 版本号:nvm i 14,这样简写就行
# 删除某版本的node
nvm uninstall 版本号
# 安装最新稳定版本
nvm install stable
# 列出所有可安装的版本
nvm ls-remote
# 解除当前版本绑定
nvm deactivate
# 更新nvm
通过curl -o- https://raw.githubusercontent.com/creationix/nvm/v版本号/install.sh | bash`
重新运行一遍安装脚本就行了,它实际上就是通过git再把代码更新到某个版本
mac:-bash: 命令名: command not found错误:
mac 配置环境出错,所有命令用不了, 说明你的.bash_profile文件修改错误;解决步骤:
在终端操作:
在终端输入export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin,配置临时路径;
打开文件,sudo vim .bash_profile,选择e
输入i,会变成--INSERT--
输入内容:export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:
(不同的路径用:隔开,使用 echo $PATH 可以查看配置的全部路径)
按esc键,--INSERT--消失
再输入:wq,回车,文件修改保存成功
source .bash_profile 更新配置
通过 Homebrew 安装(推荐)
Homebrew:包管理器,专门给macOS设计的,用于简化在macOS上安装、更新和管理软件的过程。官网
1、卸载node.js(如果没有安装就跳过)
sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}
2、安装Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
如果报错:
那就是网络原因:1、使用vpn;2、换源:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
回车后就可以安装了:
显示版本 安装成功:
使用brew安装nvm:
brew install nvm
这里还用不了nvm; 安装成功后还要做一些配置:
在当前面板继续输入以下命令
1.根目录下创建一个nvm文件:
mkdir ~/.nvm
2.进入配置文件:
vim ~/.bash_profile
3.写入代码:
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
写完后按ESC键退出编辑(按下键盘上的字母i进入编辑模式);然后按:wq回车:保存配置文件并退出
然后通过命令把当前变量加载到share环境中:
source ~/.bash_profile
到此应该就可以了。
测试nvm是否安装成功:
*注意:如果关闭终端 再打开后输入node-v无效:
执行以下命令
1、进入文件:
vim ~/.zshrc
2、写入:
source ~/.bash_profile
写完后按ESC键退出编辑;然后按:wq回车:保存配置文件并退出
然后关闭终端重新打开 再输入node-v就可以了。
Windows:

- nvm-setup.zip:安装版,推荐使用
下载下来后,傻瓜式安装即可
切换高版本node后显示yarn命令不可用
问题:yarn: command not found
- 高版本 Node(16.10+)开始内置 Corepack,用它来“激活” Yarn/Pnpm,但默认可能未启用。
- 用 nvm 切 Node 版本时,不会自动给每个 Node 装全局 yarn,所以换版本后可能找不到 yarn。
- Homebrew 安装的 Yarn 可能依赖旧 Node,升级后 PATH 变化也会导致找不到。
最稳妥的修复方式:(推荐用 Corepack)
1) 启用 Corepack
corepack enable
2) 激活你需要的 Yarn 版本(两种选一个)
Yarn 1(Classic,很多老项目用它):
corepack prepare yarn@1.22.22 --activate
Yarn 3+(Berry/Modern):
corepack prepare yarn@3.6.4 --activate
3) 确保项目里声明包管器版本(避免团队环境不一致)在 package.json 加上:
"packageManager": "yarn@1.22.22"
或
"packageManager": "yarn@3.6.4"
可选的替代方案(不使用 Corepack)
全局安装 Yarn 1(Classic):
npm i -g yarn
或用 Homebrew(不推荐与 nvm 混用,容易 PATH 冲突):
brew install yarn
验证
which yarn
yarn -v
Yarn 版本切换
使用corepack(Node.js 14及以上版本)
从Node.js 14开始,corepack是Node.js的一部分,它允许你管理项目的包管理器版本。
1、启用corepack:
corepack enable
2、使用corepack切换Yarn版本:
corepack prepare yarn@1.22.22 --activate # 激活特定版本的Yarn
查看yarn的所有版本
npm view yarn versions