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、教程需求,都可以联系博主,博主会视精力更新,免费的羊毛,不薅白不薅!~

相关推荐
ygria5 天前
0成本,使用Github Action做一个外语PDF翻译工作流
github·自动化运维
日升5 天前
Electron 开发:获取当前客户端真实 IP
前端·javascript·electron
阿廖沙10245 天前
Electron 主进程和渲染进程通信
electron
Stirner6 天前
MCP 实现网站自动监控,口语化批量运维域名
http·llm·自动化运维
A_ugust__7 天前
Vue3.2 项目打包成 Electron 桌面应用
javascript·vue.js·electron
森叶7 天前
利用本地 Express Web 服务解决复杂的 Electron 通信链路的问题
前端·electron·express
土豆丶杨7 天前
vue3+electron 桌面应用初始化
javascript·vue.js·electron
PegasusYu8 天前
Electron使用WebAssembly实现CRC-32 STM32校验
stm32·electron·nodejs·wasm·webassembly·crc32·crc-32
Substitute10 天前
换个思路!在 Electron 主进程中流畅驱动你的自定义窗口动画
electron
Python私教10 天前
安装electron项目是为什么要执行postinstall script
前端·javascript·electron