如何正确引入第三方模块,解决Electron中模块编译失败问题
前言
开发Electron项目时,难免会遇到某些库build会失败,很常见的如 : sqlite3、edge.js等。这是因为这些库依赖于c++,并不是每一个版本electron都可以使用,所以必须重新通过c++编译成当前electron版本可用版本。
环境需要:
- python2.7(截至到目前,必须是2.7版本,3.6不行)前往下载
- Visual Studio Build Tools(建议使用2015,2017未测试。如果电脑已经有Visual Studio,启动修复,把c++相关都勾上下载即可)前往下载。或者直接npm install –global –production windows-build-tools即可。
方法一 :使用node-gyp
# 全局安装node-gyp
npm install node-gyp -g
# 或
yarn global add node-gyp
# 在node_modules中找到需要重新编译的库的位置
cd ./node_modules/xxx库
# 执行rebuild指令,指定当前electron版本
node-gyp rebuild --target=当前electron版本 --arch=x64 --dist-url=https://atom.io/download/atom-shell
# 成功执行完即可使用
方法二 : 使用electron-rebuild(推荐)
# 安装electron-rebuild,不需要全局安装
npm install --save-dev electron-rebuild
#或
yarn add electron-rebuild --dev
# 执行命令
./node_modules/.bin/electron-rebuild
# 在windows下如果上述命令遇到了问题,尝试:
./node_modules/.bin/electron-rebuild.cmd
# 这种方法会将node_modules中所有需要重新编译的库全部自动编译,不需要一个个去执行
# 成功执行完即可使用
常见问题 :
Error: gyp WARN install got an error, rolling back install
解决方案:尝试删除electron重新下载
Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
failed with exit code: 1
解决方案:修改命令为 electron-rebuild -f -w yourmodule 执行
文章版权声明:除非注明,否则均为猿易帮原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...