安裝?node-sass?的時候總是會各種不成功,今天我琢磨了一會兒總算知道要怎么解決了八毯。
首先要知道的是搓侄,安裝?node-sass?時在?node scripts/install?階段會從github.com上下載一個?.node?文件,大部分安裝不成功的原因都源自這里话速,因為 github Releases 里的文件都托管在?s3.amazonaws.com?上面讶踪,而這個網址在國內總是網絡不穩(wěn)定,所以我們需要通過第三方服務器下載這個文件泊交。(順帶一提乳讥,你可以看看這個好玩的 commit)
方法一:使用淘寶鏡像
直接運行下面的命令即可:
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=http://cnpmjs.org/downloads
electron_mirror=https://npm.taobao.org/mirrors/electron/
registry=https://registry.npm.taobao.org
這樣使用?npm install?安裝?node-sass廓俭、electron?和?phantomjs?時都能自動從淘寶源上下載云石,但是在使用?npm publish?的時候要把?registry?這一行給注釋掉,否則就會發(fā)布到淘寶源上去了白指。
方法二:使用梯子
假設你的梯子在你本地機器上開啟了一個第三方服務器?127.0.0.1:1080留晚,那么只需按照下面的方法配置一下就能正常安裝?node-sass?了(如果你開啟的是 PAC 模式而不是全局模式,那還需要將?s3.amazonaws.com?加入 PAC 列表):
npm config set proxyhttp://127.0.0.1:1080
npm i node-sass
# 下載完成后刪除 http 代理
npm config delete proxy
嗯告嘲,這樣下來就能正常安裝了错维。