通过node-gyp编译的c++第三方模块addon移植到electron中,解决NODE_MODULE_VERSION不匹配的问题

在nodejs环境下通过node-gyp编译的addon如果直接拿来在electron的运行环境下使用,经常会出现下面的错误:
通过node-gyp编译的c++第三方模块addon移植到electron中,解决NODE_MODULE_VERSION不匹配的问题_第1张图片
原因:node版本、electron版本、v8、chromium内核版本都有一定的对应关系,(因为electron中的v8和你nodejs编译addon使用的v8版本不一致导致)如下图所示:
通过node-gyp编译的c++第三方模块addon移植到electron中,解决NODE_MODULE_VERSION不匹配的问题_第2张图片
我们应该重新编译addon使它适配相应的electron版本

node-gyp rebuild --target=1.4.15 --dist-url=https://npm.taobao.org/mirrors/atom-shell 

target=1.4.15 – 指定想要移植到的electron的版本

注意:并不是所有的electron版本都可以编译成功,我们可以访问链接,来查看支持哪些electron版本
访问链接:https://npm.taobao.org/mirrors/atom-shell
通过node-gyp编译的c++第三方模块addon移植到electron中,解决NODE_MODULE_VERSION不匹配的问题_第3张图片

你可能感兴趣的:(electron)