electron使用原生node模塊的時候往往需要自己重新打包。
打包前需要保證node-pyp可以使用懈词,macOS需要確保python和gcc已經(jīng)安裝,windows可以先安裝'npm install windows-build-tools -g',然后執(zhí)行環(huán)境安裝
npm install
#網(wǎng)絡不好使用cnpm
cd node_modules/node-sass
node-gyp rebuild --runtime=electron --target=8.1.1 --dist-url=https://electronjs.org/headers
#如果dist-url下載緩慢,請在命令行里使用代理崎苗。
#淘寶的鏡像更新的不及時,請不要使用舀寓。
#如果使用7.0以前的electron可以使用--dist-url=https://npm.taobao.org/mirrors/atom-shell/
cp build/release/binding.node vender/darwin-x64-76
# darwin是系統(tǒng)號胆数,x64是位數(shù),
# 76是electron當前node環(huán)境互墓,請不要搞錯必尼,否則依然會提醒node-sass與當前node版本不一致
個人感悟
在網(wǎng)絡上找了很久沒解決。一開始是python和vs studio沒有篡撵,導致node-gyp沒反應判莉,自己反思哪里錯了,其實就是不懂node-gyp育谬,經(jīng)驗是很重要的券盅,否則出錯了都不知道從哪里下手,失敗在非核心問題上了膛檀。
防火墻太牛逼锰镀,導致headers一直下載不下來。研究了一下梯子咖刃,又耽誤了很長時間泳炉。
環(huán)境搭好后其實早都成功了,只是因為默認打包的是darwin-x64-64文件夾僵缺,替換了binding.node后依然提醒相同錯誤胡桃,導致一直在找問題,只需要吧文件夾改名字為darwin-x64-76就可以了磕潮,76是和你報錯時runtime相關翠胰,可能不太一樣。