javascript - 单击 .app 后 Node.Js 子进程不会启动,但如果从 unix 可执行文件运行时会启动
问题描述
我正在使用带有 python 后端的 ElectronJS 开发应用程序。Electron 和 Python 通过 python 进行通信,使用 flask 来托管一个返回 JSON 等的网络服务器。
这是我的情况 - 通过右键单击 .app,然后进入 Contents/MacOS 并在其中运行 unix 可执行文件,该应用程序运行良好。但是,如果我只是双击 .app,python 后端不会启动。
我不确定如何查看控制台输出以查看启动 python 的命令出了什么问题,但这里是启动 python 进程的行 -
pythonBackend = require('child_process').spawn('/Library/Frameworks/Python.framework/Versions/3.8/bin/python3', [String(__dirname) + '/main.py'], {stdio: [process.stdin, process.stdout, process.stderr], detached: false});
我使用了很多存储在用户机器上的配置文件,所以在我看来摆脱 Electron 并仅仅托管在云中并不是一个好的选择,但我可能是错的。
该软件未签名或验证,所以我想知道如果您未签名,这是否可能是 MacOS 阻止执行 shell 命令/脚本的问题。
解决方案
推荐阅读
- php - 如何找出服务器将承受的负载以及如何开发高负载项目?
- c# - 'SchoolContext.OnConfiguring(DbContextOptionsBuilder)':找不到合适的方法来覆盖
- java - OneLogin SSO java实现
- php - 如何用 eloquent 过滤这个
- swift - 如何将数字添加到始终使用两个字符表示的字符串?
- javascript - 如何从Mysql连接的响应中获取数据
- javascript - 如何使用 Ramda 编写无点函数式 JS
- javascript - 字符串文字和字符串之间有什么区别?
- javascript - 如何通过 Node.js 上的推送通知实现一些复杂的行为
- algorithm - 三种情况下的大 O 表示法复杂度