macOS中切换Node的版本
题记
今天在通过 yarn 安装veturpack
的依赖项时,node-sass
这一块一直不成功。从控制台看报错信息,大概为 environment 不支持,并给了一个node-sass
Supported Environments
的 github 地址,可以看到在OSX
系统中,对 Node 的版本支持最高直到 v8.x.x。而我的 Node 版本为 v11.x.x,所以我需要一个降级。
Nodejs 的版本切换方式有很多种,NVM
就是其中杰出的代表,不过今天我们的主角不是他,而是另一位,强大的Homebrew
,因为是用的
Homebrew 是一款自由及开放源代码的软件包管理系统,用以简化 macOS 系统上的软件安装过程,最初由马克斯·霍威尔(Max Howell)写成。因其可扩展性得到了一致好评,而在 Ruby on Rails 社区广为人知。
过程
查看本地 cellar 安装的有哪些版本,以及远程有哪些版本
brew list | grep node
查看本地 cellar 中的所有 Node 版本;brew search node | grep node
查看远程有哪些版本。
现在我需要一个不超过 8.x.x 版本的 Node,执行
brew install node@8
,安装一个 v8.x.x 版本的 Node切换 Node 版本可通过 unlink 先将当前版本的 Node 移除,再通过 link 相应版本的方式来实现
brew unlink node
将当前版本的 Node 移除掉brew link --overwrite node@8
,这个时候可能会输出提醒要把可执行文件配置到系统PATH中,笔者自己使用的是zsh,执行提示信息中的echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.zshrc
命令,会在~/.zshrc
文件中写入export PATH="/usr/local/opt/node@8/bin:$PATH"
,最后需要source ~/.zshrc
使修改立即生效
检查当前Node版本
node -v
,输出的是v8.15.0,完美。yarn-sass也成功安装,veturpack 运行成功。
最新更新
上面的方式已经弃用,brew中node版本满足不了项目开发需要,已切换到nvm。