npm install tea-encrypt>项目勿删,desktop 有引用该项目
"targets": [{ "target_name": "addon1", "sources": [ "1/addon.cc", "1/myobject.cc" ] }]小记: node-gyp 是 c++ 编译器,如果待编译文件中有 c 文件,需要在 c++ 文件的引入头中用 extern "C"{} 将引入的 c 文件包裹起来。
```
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 69. Please try re-compiling or re-installing
这是因为在系统中安装的 nodejs 与 electron 的 NODE_MODULE_VERSION 不一样。node 与 electron 版本对应的 NODE_MODULE_VERSION 可通过 node-abi 查询。
要解决无法编译出适合指定版本 electron 的扩展,可以用下面两种方法:
1. 在 node-gyp 命令中指定编译的 electron 版本:
``
node-gyp build --target=4.1.3 --arch=x64 --dist-url=https://atom.io/download/ato-shell
--target 指定 electron 版本
--arch 设置模块为适应64位或32位操作系统而编译
--dist-url 指定下载 electron 的 headers 的地址
但这种方法有个缺陷,只能为每一个 electron 每一种操作系统去修改命令,这时就需要第二种方法。
2. 安装 electron-rebuild,只需直接执行 electron-rebuild -v=4.1.3 -f 就能编译出符合当前系统的指定 electron 版本的二进制文件,如果你是在 electron 项目中执行 electron-rebuild`,甚至不需要指定 electron 版本。
很明显第二种方式更具有兼容性。