题记
今天在通过 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 安装的有哪些版本,以及远程有哪些版本
现在我需要一个不超过 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 运行成功。