Mac OSX下Node.js版本冲突问题求助
解决Node版本冲突问题(Angular6运行所需Node版本不足)
兄弟,我懂你这种版本冲突的头疼!要跑Angular6却被Node版本卡脖子,还遇上系统里俩Node打架的情况,别急,咱们一步步来搞定:
第一步:搞清楚当前用的是哪个Node
先运行这个命令,看看你现在调用的Node到底在哪个路径:
which node
如果输出是/usr/bin/node,那说明你现在用的是系统自带的旧版本Node;如果是/usr/local/bin/node,那应该是brew安装的版本,但大概率你现在的输出是前者,所以才会显示v6.11.4。
第二步:确认brew安装的Node位置
运行这个命令,找到brew给你装的Node10.0.0的具体路径:
brew list node
你会看到类似/usr/local/Cellar/node/10.0.0/bin/node的输出,把这个bin目录(也就是/usr/local/Cellar/node/10.0.0/bin)记下来。
第三步:调整环境变量,让brew的Node优先
接下来要修改你的shell配置文件,把brew安装的Node路径放到系统路径前面,这样终端就会优先用新版本的Node了:
- 打开你的配置文件(如果你用的是bash,就打开
~/.bash_profile;用zsh的话就打开~/.zshrc):open ~/.bash_profile # zsh用户替换为 open ~/.zshrc - 在文件末尾添加一行,把刚才记下来的brew Node的bin路径填进去:
export PATH="/usr/local/Cellar/node/10.0.0/bin:$PATH" - 保存文件后,让配置立即生效:
source ~/.bash_profile # zsh用户替换为 source ~/.zshrc
第四步:验证版本是否切换成功
重启一下终端,然后运行:
node -v
现在应该显示v10.0.0了,这个版本满足Angular6的最低要求(8.9以上),你可以正常运行Angular项目了!
额外推荐:用nvm管理Node版本(避免以后再踩坑)
如果以后还要频繁切换不同的Node版本,推荐用nvm(Node Version Manager)来统一管理,彻底告别版本冲突:
- 安装nvm:在终端运行官方提供的安装脚本即可(你可以直接搜索nvm官网获取最新的安装命令)
- 安装完成后重启终端,就能轻松操作版本了:
nvm install 10.0.0 # 安装指定版本 nvm use 10.0.0 # 切换到该版本 nvm alias default 10.0.0 # 设置为默认启动版本
内容的提问来源于stack exchange,提问作者MadaZZ
相关产品推荐
相关产品推荐

