无法从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一起运行的exec
。 Here's an article深入分析了这些差异。
以上是关于无法从Electron打包应用程序执行shell命令的主要内容,如果未能解决你的问题,请参考以下文章
electron教程: 使用electron-builder或electron-packager将项目打包为可执行桌面程序(.exe)
electron学习笔记electron之打包程序file路径的刷新页面处理