node-sass electron打包
2020-03-16 本文已影响0人
jumplee
electron使用原生node模块的时候往往需要自己重新打包。
打包前需要保证node-pyp可以使用,macOS需要确保python和gcc已经安装,windows可以先安装'npm install windows-build-tools -g',然后执行环境安装
npm install
#网络不好使用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是系统号,x64是位数,
# 76是electron当前node环境,请不要搞错,否则依然会提醒node-sass与当前node版本不一致
个人感悟
在网络上找了很久没解决。一开始是python和vs studio没有,导致node-gyp没反应,自己反思哪里错了,其实就是不懂node-gyp,经验是很重要的,否则出错了都不知道从哪里下手,失败在非核心问题上了。
防火墙太牛逼,导致headers一直下载不下来。研究了一下梯子,又耽误了很长时间。
环境搭好后其实早都成功了,只是因为默认打包的是darwin-x64-64文件夹,替换了binding.node后依然提醒相同错误,导致一直在找问题,只需要吧文件夹改名字为darwin-x64-76就可以了,76是和你报错时runtime相关,可能不太一样。