node + electron + robotjs 版本不兼容报错问题解决

一、

node 安装好之后,再安装electron要注意的版本问题,版本对应查询electron与node.js的版本对应关系(全版本)_哆啦好梦的博客-CSDN博客_electron node版本对应关系

或者安装完成后   打开 全局electron --abi 或 局部 npx electron --abi  

二、

步骤一使 electron + node版本对上之后,加上robotjs :

1.(1)可能问题一:安装robotjs,发现各种报错,

App threw an error during load
Error: A dynamic link library (DLL) initialization routine failed.
\\?\D:\vue\lianji\node_modules\robotjs\build\Release\robotjs.node
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:166:20)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:740:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:166:20)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:559:12)
    at Function.Module._load (internal/modules/cjs/loader.js:551:3)
    at Module.require (internal/modules/cjs/loader.js:658:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (D:\vue\lianji\node_modules\robotjs\index.js:1:170)
    at Object.<anonymous> (D:\vue\lianji\node_modules\robotjs\index.js:38:3)

(2)可能问题二:或复制以前的文件夹,报找不到模块的错误,abi 版本对不上, 按有些人说的再次装环境和node-gyp rebuild 编译等还是报错

2.解决方法:(以我电脑为例,按之前方法知道对应abi为64,在package.json加入 scripts)

"scripts": {
    "start": "electron .",
    "package": "electron-packager . HelloWorld --platform=win32 --out ./out --electron-version=3.0.0 --overwrite --abi=64 --arch=x64",
    "rebuild": "npm rebuild --runtime=electron --target=3.0.0 --disturl=https://atom.io/download/atom-shell --abi=64"
  },

运行 npm run rebuild 或 直接 

npm rebuild --runtime=electron --target=3.0.0 --disturl=https://atom.io/download/atom-shell --abi=64    

--target=3.0.0  为electron 版本, --abi为对应查询的的ABI版本

再运行 npm run start 发现已正常运行

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值