gpt4 book ai didi

javascript - npm:在 Electron 应用程序中执行命令时找不到命令

转载 作者:行者123 更新时间:2023-11-30 11:06:30 34 4
gpt4 key购买 nike

我正在开发一个 Electron 应用程序,在该应用程序中,我使用 child_process.exec 执行 shell 命令。我运行的命令之一是 npm run start;这在开发环境中完美运行,但是当我构建用于生产的应用程序时,所有 npm 命令都失败并显示以下错误:

   Error: Command failed: npm run start
/bin/sh: npm: command not found


at ChildProcess.exithandler (child_process.js:287)
at emitTwo (events.js:126)
at ChildProcess.emit (events.js:214)
at maybeClose (internal/child_process.js:925)
at Socket.stream.socket.on (internal/child_process.js:346)
at emitOne (events.js:116)
at Socket.emit (events.js:211)
at Pipe._handle.close [as _onclose] (net.js:554)

我尝试通过运行以下命令以 Debug模式运行应用程序 open MyApp.app/Contents/MacOS/MyApp 并且 npm 命令成功运行,没有错误。

可能是什么问题?

最佳答案

$PATH 的环境变量在打包的应用程序中错误的问题,它在开发中有效,因为应用程序是从终端启动的,它可以访问 $BASH 配置文件。

为了解决这个问题,我使用了这个包 fix-path .我安装了软件包并在文件顶部添加了以下代码片段

if (process.env.NODE_ENV === 'production') {
const fixPath = require('fix-path');

fixPath();
}

我在经历了这个 issue 之后得出了这个答案在 GitHub 上。感谢@Seblor

关于javascript - npm:在 Electron 应用程序中执行命令时找不到命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55413900/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com