總的來說就是三種方法解決:
方法一:使用淘寶鏡像
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
針對河蟹的改造。。