electron+robotjs实现自动化办公功能,使用robotjs时的报错解决

有任何问题,都可以私信博主,共同探讨学习。如果需要某些免费的图书资源,可以关注博主的公众号------【前端系列教程】,会不定期发布福利,免费抽取实体书。


前言

robotjs在electron中使用,涉及到很多环境、编译方面的技巧,所以写篇文章作为记录。如果对各位大佬有所帮助,希望多多点赞评论。

博主各种开发资源,可以通过中二少年学编程的个人主页来获取。


1.下载

都开始用robotjs了,下载不需要赘述:

c 复制代码
npm install robotjs

2.直接安装时,报错:stack Error: Could not find any Visual Studio installation to use

需要下载visual studio,直接上官网下载.

安装时,勾选上:使用C++的桌面开发 如果已经安装过软件并且没有选择这个选项,可以重新打开安装程序,然后点击修改,在弹出框里勾选上使用C++的桌面开发

3.运行electron-rebuild报错Could not find any Python installation to use

缺少python环境,下载python:www.python.org/downloads/w...

进入下载页面后,下拉到页面最底部,选择64位的安装包:

下载后,直接点击运行: 安装成功后,打开cmd命令行,输入:python -v进入python环境,则说明安装成功。

3.安装@electron/rebuild重新编译robotjs

一般情况下,robotjs要求的nodejs环境和electron的nodejs版本不一致,会导致打包时,robotjs运行报错:node-gyp failed to rebuild...。

所以需要在当前的electron中重新编译一次robotjs

下载: npm install @electron/rebuild --dev

安装成功后,运行:electron-rebuild 上面的报错就是因为没有安装visual studio,安装后再重新运行,最终提示rebuild complete,说明编译成功。

4.node-abi报错

打包过程中如果报错: Error: Could not detect abi for version 30.3.1 and runtime electron. Updating "node-abi" might help solve this issue if it is a new release of electron

安装报错提示信息,我更新了node-abi:如果npm网络不好,就用淘宝镜像或者cnpm:

c 复制代码
cnpm install node-abi

更新后重新打包,还是报错,仔细查看报错信息,可以发现报错位置是插件prebuild-install。

手动在node_modules中删除该插件,然后重新安装该插件:

c 复制代码
cnpm install prebuild-install

再重新打包,不再报错。

这样做虽然解决了问题,但是有一个弊端,那就是在其他地方重新下载项目,又要这样来一遍,还没想好应该怎样一劳永逸地解决。

5.运行

安装成功后,先运行yarn dev,正常运行说明robotjs安装成功。

然后运行yarn build,正常运行说明robotjs被编译成功。


总结

有任何前端项目、demo、教程需求,都可以联系博主,博主会视精力更新,免费的羊毛,不薅白不薅!~

相关推荐
日升9 小时前
Electron 项目开机自启动
前端·electron·客户端
会功夫的李白2 天前
Electron + Vite + Vue 桌面应用模板
javascript·vue.js·electron·vite·模版
PyAIGCMaster3 天前
20250322学习electron记录
javascript·学习·electron
eli9604 天前
node-ddk, electron组件, 自定义本地文件协议,打开本地文件
前端·javascript·electron·node.js
zru_96024 天前
如何用electron构建一个exe应用
前端·javascript·electron
会一丢丢蝶泳的咻狗5 天前
electron中设置webview的token数据
前端·electron
碣石潇湘无限路5 天前
【技术】Electron 移动端支持现状与进展洞察
前端·javascript·electron
無名路人5 天前
electron-vite 使用 regedit 注册表库获取千牛安装路径
前端·vue.js·electron