大家可以用dart-sass无缝替换node-sass了!dart-sass 兼容 node-sass 的 API,而且安装过程无需下载二进制文件,这样大家就不需要用本篇文章的方式安装 node-sass 了。
安装node-sass的时候总是会各种不成功,今天我琢磨了一会儿总算知道要怎么解决了。
首先要知道的是,安装node-sass
时在node scripts/install
阶段会从 github.com 上下载一个.node
文件,大部分安装不成功的原因都源自这里,因为 GitHub Releases 里的文件都托管在s3.amazonaws.com
上面,而这个网址在国内总是_网络不稳定_,所以我们需要通过第三方服务器下载这个文件。(顺带一提,你可以看看这个好玩的 commit)
方法一:使用淘宝镜像
macOS 系统直接运行下面的命令即可:
SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install node-sass
我们一般更希望能跨平台、并且直接使用npm install
安装所有依赖,所以我的做法是在项目内添加一个.npmrc
文件:
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/
electron_mirror=https://npm.taobao.org/mirrors/electron/
registry=https://registry.npm.taobao.org
这样使用npm install
安装node-sass
、electron
和phantomjs
时都能自动从淘宝源上下载,但是在使用npm publish
的时候要把registry
这一行给注释掉,否则就会发布到淘宝源上去了。
方法二:使用梯子
假设你的梯子在你本地机器上开启了一个第三方服务器127.0.0.1:1080
,那么只需按照下面的方法配置一下就能正常安装node-sass
了(如果你开启的是 PAC 模式而不是全局模式,那还需要将s3.amazonaws.com
加入 PAC 列表):
npm config set proxy http://127.0.0.1:1080
npm i node-sass
# 下载完成后删除 http 代理
npm config delete proxy
嗯,这样下来就能正常安装了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。