我使用武克利创建了一个vue应用程序,然后通过一个名为vue-cli-插件-电子生成器的插件添加了电子(4.0.0)。一切都很好,运转正常。
问题在于,正如奥霍克在其文档上所述,它已经为电子ABI <= 57预先构建了版本(实际上它是<= 64)。在我的项目中,它似乎自动下载并使用electron ABI(64),即electron(3.0.0) (用节点-abi验证)。
electron(4.0.3/4)是ABI(69) (不支持)。从这些情况来看,我也认为electron 4.0.0也有ABI(69)
iohook需要以package.json arch类型指定的东西,等等。我确实具体说明了。
iohook也希望我使用npm run build,但到目前为止,它还没有生成任何构建文件夹。
我的解决办法是:
回到电子3.0.0
electron 3.0.0和electron 4.0.x有什么区别?从源手动构建io钩子
npm run compile中抛出错误/对cd说,因为arch type doesn't match而不能工作。到目前为止,我想手动构建iohook。
UPDATE --我尝试过使用electron 3.0.0 (裸骨)--但它仍然在抛出:
Error: Cannot find module 'F:\DOCS\OneDrive\Programming\NODE\type_analysis\dist_electron\builds\electron-v64-win32-x64\build\Release\iohook.node' at webpackEmptyContext (webpack:///./node_modules/iohook_sync?:2:10) at eval (webpack:///./node_modules/iohook/index.js?:10:80) at Object../node_modules/iohook/index.js (F:\DOCS\OneDrive\Programming\NODE\type_analysis\dist_electron\index.js:252:1) at __webpack_require__ (F:\DOCS\OneDrive\Programming\NODE\type_analysis\dist_electron\index.js:20:30) at eval (webpack:///./src/background.js?:15:16) at Module../src/background.js (F:\DOCS\OneDrive\Programming\NODE\type_analysis\dist_electron\index.js:1395:1) at __webpack_require__ (F:\DOCS\OneDrive\Programming\NODE\type_analysis\dist_electron\index.js:20:30) at eval (webpack:///multi_./src/background.js?:1:18) at Object.0 (F:\DOCS\OneDrive\Programming\NODE\type_analysis\dist_electron\index.js:1406:1) at __webpack_require__ (F:\DOCS\OneDrive\Programming\NODE\type_analysis\dist_electron\index.js:20:30)
更新2也不适用于electron 2.0.0 .我还在cmake-js中添加了package.json
"cmake-js": { "runtime": "electron", "runtimeVersion": "2.0.0" }
也尝试过electron-rebuild -f -w iohook,也没有解决问题
发布于 2019-03-28 18:13:45
现在已经提供了对电子v2+的支持(尝试io钩子版本的0.4+)。我们目前正在致力于fine 32/64对电子4的支持,所有其他平台都很好。您可以在这里跟踪调试:https://github.com/wilix-team/iohook/pull/157
https://stackoverflow.com/questions/54628889
复制相似问题