Node.js 电子中的路径变量为空?

Node.js 电子中的路径变量为空?,node.js,electron,environment-variables,Node.js,Electron,Environment Variables,我试图从我的electron实例访问我的PATH环境变量中的项目,当我使用npm start运行它时,通过node.js开发它,我得到了所有预期的变量,但是当我运行包含资源的electron应用程序时,我只剩下usr/bin 这是我从npm运行它时的样子: 这是从electron mac应用程序预编译运行时的外观: 有人知道为什么会这样吗?如果我能做些什么来达到我的标准路径变量 更新: 经过大量研究,我发现Mac OSX中从finder或docker运行的GUI应用程序与从终端运行的GUI应用

我试图从我的electron实例访问我的PATH环境变量中的项目,当我使用
npm start
运行它时,通过node.js开发它,我得到了所有预期的变量,但是当我运行包含资源的electron应用程序时,我只剩下usr/bin

这是我从npm运行它时的样子:

这是从electron mac应用程序预编译运行时的外观:

有人知道为什么会这样吗?如果我能做些什么来达到我的标准路径变量

更新: 经过大量研究,我发现Mac OSX中从finder或docker运行的GUI应用程序与从终端运行的GUI应用程序相比使用了不同的环境变量: 您可以使用软件包。很好用

const fixPath = require('fix-path');

console.log(process.env.PATH);
//=> '/usr/bin'

fixPath();

console.log(process.env.PATH);
//=> '/usr/local/bin:/usr/bin...'
你可以使用软件包。很好用

const fixPath = require('fix-path');

console.log(process.env.PATH);
//=> '/usr/bin'

fixPath();

console.log(process.env.PATH);
//=> '/usr/local/bin:/usr/bin...'

我有完全相同的问题。你在你的electron中获得了默认路径变量了吗?@JaviOverflow如果路径变量仍然是docker应用程序,我就无法将其输入到应用程序中,我丑陋的解决方案是创建一个shell脚本,然后从那里运行它。我遇到了完全相同的问题。你在你的electron中获得了默认路径变量了吗?@JaviOverflow如果路径变量仍然是docker应用程序,我就无法将其输入应用程序,我丑陋的解决方案是创建一个shell脚本并从那里运行它。