electron-rebuild 编译遇到的奇葩问题
.\node_modules\.bin\electron-rebuild.cmd
环境:
系统:win10
"dependencies": {"core-js": "^3.6.5","electron-rebuild": "^3.2.3","escpos-serialport": "^3.0.0-alpha.4","vue": "^2.6.11"
},
"devDependencies": {"@vue/cli-plugin-babel": "~4.5.0","@vue/cli-plugin-eslint": "~4.5.0","@vue/cli-service": "~4.5.0","babel-eslint": "^10.1.0","electron": "^13.0.0","electron-devtools-installer": "^3.1.0","electron-prebuilt": "^1.4.13","electron-rebuild": "^3.2.3","eslint": "^6.7.2","eslint-plugin-vue": "^6.2.2","serialport": "^9.2.1","vue-cli-plugin-electron-builder": "~2.1.1","vue-template-compiler": "^2.6.11"},
小知识:你安装electron-rebuild之后要把它运动到dependencies中
执行之后报错如下:
File "F:\my\code\electron\my-electron\node_modules\_node-gyp@8.2.0@node-gyp\gyp\gyp_main.py", line 45, in <module>
sys.exit(gyp.script_main())
File "F:\my\code\electron\my-electron\node_modules\_node-gyp@8.2.0@node-gyp\gyp\pylib\gyp\__init__.py", line 662, in script_main
return main(sys.argv[1:])
File "F:\my\code\electron\my-electron\node_modules\_node-gyp@8.2.0@node-gyp\gyp\pylib\gyp\__init__.py", line 654, in main
return gyp_main(args)
File "F:\my\code\electron\my-electron\node_modules\_node-gyp@8.2.0@node-gyp\gyp\pylib\gyp\__init__.py", line 629, in gyp_main
options.circular_check,
File "F:\my\code\electron\my-electron\node_modules\_node-gyp@8.2.0@node-gyp\gyp\pylib\gyp\__init__.py", line 151, in Load
params["root_targets"],
⠼ Building module: bindings, Completed: 0 File "F:\my\code\electron\my-electron\node_modules\_node-gyp@8.2.0@node-gyp\gyp\pylib\gyp\input.py", line 3010, in Load
build_file, data, aux_data, variables, includes, depth, check, True
File "F:\my\code\electron\my-electron\node_modules\_node-gyp@8.2.0@node-gyp\gyp\pylib\gyp\input.py", line 428, in LoadTargetBuildFile
build_file_data, PHASE_EARLY, variables, build_file_path
File "F:\my\code\electron\my-electron\node_modules\_node-gyp@8.2.0@node-gyp\gyp\pylib\gyp\input.py", line 1411, in ProcessVariablesAndConditionsInDict
ProcessVariablesAndConditionsInList(value, phase, variables, build_file)
File "F:\my\code\electron\my-electron\node_modules\_node-gyp@8.2.0@node-gyp\gyp\pylib\gyp\input.py", line 1424, in ProcessVariablesAndConditionsInList
ProcessVariablesAndConditionsInDict(item, phase, variables, build_file)
File "F:\my\code\electron\my-electron\node_modules\_node-gyp@8.2.0@node-gyp\gyp\pylib\gyp\input.py", line 1411, in ProcessVariablesAndConditionsInDict
ProcessVariablesAndConditionsInList(value, phase, variables, build_file)
File "F:\my\code\electron\my-electron\node_modules\_node-gyp@8.2.0@node-gyp\gyp\pylib\gyp\input.py", line 1428, in ProcessVariablesAndConditionsInList
expanded = ExpandVariables(item, phase, variables, build_file)
File "F:\my\code\electron\my-electron\node_modules\_node-gyp@8.2.0@node-gyp\gyp\pylib\gyp\input.py", line 979, in ExpandVariables
p_stdout = p_stdout.decode("utf-8")
AttributeError: 'str' object has no attribute 'decode' while trying to load binding.gyp
✖ Rebuild Failed
An unhandled error occurred inside electron-rebuild
node-gyp failed to rebuild 'F:\my\code\electron\my-electron\node_modules\_@serialport_bindings@9.2.1@@serialport\bindings'.
For more information, rerun with the DEBUG environment variable set to "electron-rebuild".
Error: `gyp` failed with exit code: 1
Error: node-gyp failed to rebuild 'F:\my\code\electron\my-electron\node_modules\_@serialport_bindings@9.2.1@@serialport\bindings'.
就很 "shabi",我系统的python版本就是2.7.3的(也切换3.7尝试也不行),可是还是报这个错误。
最后解决方案就是修改源码(同时也把python版本指向2.7)
1.编辑器打开这个源码文件
2.修改源码
然后再次运行
.\node_modules\.bin\electron-rebuild.cmd
就搞定了,真 "shabi"。
补充,下面查看npm执行的时候使用的配置
npm config get userconfig
把这里的python设置成python,就会根据你配置的环境变量来使用python版本
electron-rebuild 编译遇到的奇葩问题相关推荐
- electron android编译,Tiny4412_Android编译步骤
前言:Android编译对PC机系统性能有要求,建议使用win7 64位操作系统,硬盘最小80GB剩余容量,否则编译Android源码会出现"No space left on device& ...
- VisualStudio 命令行编译 build 通过 rebuild 不通过
在使用命令行编译项目,发现使用 build 可以编译通过,但是通过 rebuild 编译提示找不到项目,明明在对应的文件夹存在项目输出的 dll 文件,但是会提示找不到 在命令行编译的 build 和 ...
- electron 开发环境搭建
electron开发环境的搭建共包括两个部分:一.动态链接库(dll)编译部分:二.Native模块编译部分 tips:cnpm和npm的依赖可能不同,npm安装时可以通过任务管理器查看网速 ``` ...
- electron sqlite3_electron集成sqlite3,win10上折腾了2天
要看解决办法的,直接把文章滚动到最后就行了,很简单. 最近要做个 IM,PC 端选择用 electron,跨端的最佳选择了.桌面端项目,肯定少不了本地数据库,本来想用 sql.js,看了下需要手动拼接 ...
- electron中引入iohook来监听系统级鼠标键盘事件
最新做法:(2022-07-14记录) npm install iohook@latest--save 安装好之后 直接使用会报错,这时候发现是缺少一些关于electron的编译,从以下地址选择对应系 ...
- electron调用python_Electron中使用Node-ffi调用DLL
相关网址 版本对比表Electron版本 NODE_MODULE_VERSION Node版本 v3.1.13 64 v10.2.0 v4.2.11 69 v10.11.0 v5.0.11 70 v1 ...
- UE4编译专用服务器
[代码]: 1 <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 2 ...
- electron 打开调试_Electron教程:菜鸟学Electron 主进程调试
浏览器窗口的开发工具仅能调试渲染器的进程脚本(比如 web 页面).为了提供一个可以调试主进程的方法,Electron 提供了 --debug 和 --debug-brk开关. 命令行开关 使用如下的 ...
- electron教程(四): 使用electron-builder或electron-packager将项目打包为可执行桌面程序(.exe)
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google ...
最新文章
- 初学者如何学Java开发
- ggbiplot-最好看的PCA作图:样品PCA散点+分组椭圆+变量贡献与相关
- cisco路由器基本实验之七 Standard Access-Lists with RIP (Boson NetSim)
- BCH底层协议真的不能被修改吗?
- JS 表单和表单元素
- oracle数据库计数器,DM 达梦数据库 表的 行计数器(COUNTER)属性
- 柳传志与马云绸缪宏观经济“冬天影子”
- 开源开放 | 中文相对复杂词汇识别数据集RCWI-Dataset(CCKS2021)
- oracle如何检索文件,从Oracle数据库检索文件的示例
- 《C程序猿:从校园到职场》出版预告(4):从“散兵游勇”到“正规部队”
- (56)FPGA面试题-如果连线宽度不匹配怎么办?
- linux查看ip访问日志文件,linux分析apache日志获取最多访问的前10个IP
- 华为手机怎么开启生产模式 | 华为手机打开生产模式后有驱动没有安装好怎么办 | 华为荣耀9手机打开生产模式后有驱动有叹号怎么办
- 机器学习与深度学习视频讲解
- 20个免费视频素材平台推荐
- excel查标准正态分布_利用Excel的NORMSDIST计算正态分布函数表1
- 哇!家居环境居然能“可视化”?这守护真的牛
- 投入产出表之直接消耗系数和完全消耗系数计算--基于Excel
- macos 软件清单
- hdu4771 Stealing Harry Potter's Precious (状压+bfs)