.\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 编译遇到的奇葩问题相关推荐

  1. electron android编译,Tiny4412_Android编译步骤

    前言:Android编译对PC机系统性能有要求,建议使用win7 64位操作系统,硬盘最小80GB剩余容量,否则编译Android源码会出现"No space left on device& ...

  2. VisualStudio 命令行编译 build 通过 rebuild 不通过

    在使用命令行编译项目,发现使用 build 可以编译通过,但是通过 rebuild 编译提示找不到项目,明明在对应的文件夹存在项目输出的 dll 文件,但是会提示找不到 在命令行编译的 build 和 ...

  3. electron 开发环境搭建

    electron开发环境的搭建共包括两个部分:一.动态链接库(dll)编译部分:二.Native模块编译部分 tips:cnpm和npm的依赖可能不同,npm安装时可以通过任务管理器查看网速 ``` ...

  4. electron sqlite3_electron集成sqlite3,win10上折腾了2天

    要看解决办法的,直接把文章滚动到最后就行了,很简单. 最近要做个 IM,PC 端选择用 electron,跨端的最佳选择了.桌面端项目,肯定少不了本地数据库,本来想用 sql.js,看了下需要手动拼接 ...

  5. electron中引入iohook来监听系统级鼠标键盘事件

    最新做法:(2022-07-14记录) npm install iohook@latest--save 安装好之后 直接使用会报错,这时候发现是缺少一些关于electron的编译,从以下地址选择对应系 ...

  6. 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 ...

  7. UE4编译专用服务器

    [代码]: 1 <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 2 ...

  8. electron 打开调试_Electron教程:菜鸟学Electron 主进程调试

    浏览器窗口的开发工具仅能调试渲染器的进程脚本(比如 web 页面).为了提供一个可以调试主进程的方法,Electron 提供了 --debug 和 --debug-brk开关. 命令行开关 使用如下的 ...

  9. electron教程(四): 使用electron-builder或electron-packager将项目打包为可执行桌面程序(.exe)

    我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google ...

最新文章

  1. 初学者如何学Java开发
  2. ggbiplot-最好看的PCA作图:样品PCA散点+分组椭圆+变量贡献与相关
  3. cisco路由器基本实验之七 Standard Access-Lists with RIP (Boson NetSim)
  4. BCH底层协议真的不能被修改吗?
  5. JS 表单和表单元素
  6. oracle数据库计数器,DM 达梦数据库 表的 行计数器(COUNTER)属性
  7. 柳传志与马云绸缪宏观经济“冬天影子”
  8. 开源开放 | 中文相对复杂词汇识别数据集RCWI-Dataset(CCKS2021)
  9. oracle如何检索文件,从Oracle数据库检索文件的示例
  10. 《C程序猿:从校园到职场》出版预告(4):从“散兵游勇”到“正规部队”
  11. (56)FPGA面试题-如果连线宽度不匹配怎么办?
  12. linux查看ip访问日志文件,linux分析apache日志获取最多访问的前10个IP
  13. 华为手机怎么开启生产模式 | 华为手机打开生产模式后有驱动没有安装好怎么办 | 华为荣耀9手机打开生产模式后有驱动有叹号怎么办
  14. 机器学习与深度学习视频讲解
  15. 20个免费视频素材平台推荐
  16. excel查标准正态分布_利用Excel的NORMSDIST计算正态分布函数表1
  17. 哇!家居环境居然能“可视化”?这守护真的牛
  18. 投入产出表之直接消耗系数和完全消耗系数计算--基于Excel
  19. macos 软件清单
  20. hdu4771 Stealing Harry Potter's Precious (状压+bfs)

热门文章

  1. 云e办学习笔记(十六)Redis集成菜单
  2. 记录第一次使用python模拟鼠标点击
  3. java实现连接linux,JAVA实现远道SSH连接linux并执行命令
  4. 【转】固态硬盘恢复之30分钟大法操作技巧
  5. CoinUp开启GameFi新世界—魔法元世界(MAC)
  6. SAP MM库存历史库存表更新逻辑
  7. 【Android】Studio 依赖 ButterKnife 黄油刀 时出现 空指针异常
  8. 使用什么软件可以将PDF文件进行编辑
  9. Gitlab CI/CD 中使用 ssh-key,登录远程主机部署,执行远程主机的特定脚本
  10. 小程序修改单页面的背景颜色