如何正确引入第三方模块,解决Electron中模块编译失败问题

03-07
评论
字数统计:1730(字)
解决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

# 成功执行完即可使用

github:node-gyp

方法二 : 使用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中所有需要重新编译的库全部自动编译,不需要一个个去执行
# 成功执行完即可使用

github:electron-rebuild

常见问题 :

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 执行

本文链接:https://blog.crazylei.com/art/2b2ace67
版权声明: 本博客所有文章除特别声明外,均采用CC BY 4.0 CN协议 许可协议。转载请注明出处!

评论

正在加载评论...

©2022 Crazylei Bolg沪ICP备20001821号