无法从Electron打包应用程序执行shell命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法从Electron打包应用程序执行shell命令相关的知识,希望对你有一定的参考价值。

我有我的电子应用程序,我用electron-packager npm模块包装。我想只从名为child_process的Nodejs模块中按名称执行python应用程序。当应用程序未打包时,它可以正常工作,但是当我打包它时它不起作用。我注意到打包的应用程序没有加载PATH变量,因此只有当我将其更改为脚本的绝对路径时它才有效。但我想让它与平台无关,所以它不适合我。

有什么办法可以将PATH变量“注入”打包应用程序或任何其他解决方案?

答案

您是否正在使用spawn剥离您的子进程?如果是这样,那是在没有shell的情况下启动的,因此没有PATH。但是,您可以强制它使用shell。

const myCmd = spawn('ls', args, { shell: true });

或者,您可以使用与shell一起运行的execHere's an article深入分析了这些差异。

以上是关于无法从Electron打包应用程序执行shell命令的主要内容,如果未能解决你的问题,请参考以下文章

electron-packager打包报错

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

electron学习笔记electron之打包程序file路径的刷新页面处理

electron 打包问题 解决

如何为 Electron / Atom Shell App 设置应用程序图标

如何为Electron / Atom Shell App设置应用程序图标