总的来说就是三种方法解决:
方法一:使用淘宝镜像
SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install
或者在 ~/.npmrc 里添加下面这行(参考),保存后再 npm install
(如果是用的 cnpm,需要添加到 ~/.cnpmrc)
方法二 下载源码然后从本地搞(麻烦 不推荐)
npm.taobao.org 已经收录了 node-sass 的源码,可以直接指定下载的地址,参考:
https://github.com/lmk123/blog/issues/28
https://cnodejs.org/topic/5637549fd426a1404cbd0614
原因是github被墙,下载插件要去要在 GitHub 上下载编译好的 node-sass 二进制包
在 这里 的 getBinaryPath() 可以设置二进制的位置。在这之前还要先知道自己的系统需要的版本。
用这行命令:
复制输出的结果,去 Release 列表 找到对应的版本,Ctrl+F 粘贴,找到那个文件,下载(必要的时候挂代理,浏览器下载通常都比 node 下载更快更稳定),然后文件存到一个稳定的路径,并复制路径(比如 ~/.node/.npm/node-sass/darwin-x64-48_binding.node)
在 ~/.npmrc 下面新增一行,新增 sass_binary_path 项并填入刚才的路径,比如
sass_binary_path=/home/ubuntu/.npm/node-sass/darwin-x64-binding.node
最后再去项目目录下:
rm -rf node_modules/ && npm i
方法三 梯云纵(GFW功力深厚,可能也需要多来几次)
假设你的梯子在你本地机器上开启了一个第三方服务器 127.0.0.1:1080(ss的默认端口),那么只需按照下面的方法配置一下就能正常安装 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
针对河蟹的改造。。