安裝?node-sass?的時候總是會各種不成功,今天我琢磨了一會兒總算知道要怎么解決了。
首先要知道的是,安裝?node-sass?時在?node scripts/install?階段會從github.com上下載一個?.node?文件,大部分安裝不成功的原因都源自這里,因?yàn)?github Releases 里的文件都托管在?s3.amazonaws.com?上面,而這個網(wǎng)址在國內(nèi)總是網(wǎng)絡(luò)不穩(wěn)定,所以我們需要通過第三方服務(wù)器下載這個文件。(順帶一提,你可以看看這個好玩的 commit)
方法一:使用淘寶鏡像
直接運(yùn)行下面的命令即可:
SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/npm install node-sass
我們可能更希望能直接使用?npm install?安裝所有依賴,所以我的做法是在項(xiàng)目內(nèi)添加一個?.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ā)布到淘寶源上去了。
方法二:使用梯子
假設(shè)你的梯子在你本地機(jī)器上開啟了一個第三方服務(wù)器?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
嗯,這樣下來就能正常安裝了。