Electron 子进程未继承全局环境变量解决方法

问题描述:在electron项目开发时,查看使用exec查看环境变量时正常,可以使用exec('node -v')查找到版本信息。在macos打包后,无法获取到版本信息。使用exec('echo $PATH')只能获取到/usr/bin:/bin:/usr/sbin:/sbin,缺少node nvm等其他配置。

主要问题就在于子进程获取到的环境变量不对,与全局环境变量不一致。查阅很多文章也没找到问题解决方法。后来打算直接修改prcess.env.PATH时,加群问了一嘴,老哥给了一个issus的地址。https://github.com/electron/electron/issues/550

解决方法:

方式1

javascript 复制代码
// 第一步
npm i fix-path@3.0.0 -s

// 第二步在主进程main.js中顶部
require('fix-path')()

// 第三部打包验证

方式2

既然PATH不对,那么直接修改PATH即可

javascript 复制代码
// 主进程 main.js
process.env.PATH = process.env.PATH + '你配置的环境变量'

此处可以通过在程序内设置或者其他方法实现,但是不太推荐使用这个办法

相关推荐
web1508509664117 分钟前
在uniapp Vue3版本中如何解决webH5网页浏览器跨域的问题
前端·uni-app
Yvemil720 分钟前
《开启微服务之旅:Spring Boot Web开发举例》(一)
前端·spring boot·微服务
java_heartLake39 分钟前
Vue3之性能优化
javascript·vue.js·性能优化
Swift社区43 分钟前
HarmonyOS 实践 - 设计模式在代码中的作用
javascript
少年姜太公1 小时前
从零开始详解js中的this(下)
前端·javascript·程序员
哑巴语天雨1 小时前
React+Vite项目框架
前端·react.js·前端框架
初遇你时动了情1 小时前
react 项目打包二级目 使用BrowserRouter 解决页面刷新404 找不到路由
前端·javascript·react.js
乔峰不是张无忌3302 小时前
【HTML】动态闪烁圣诞树+雪花+音效
前端·javascript·html·圣诞树
鸿蒙自习室2 小时前
鸿蒙UI开发——组件滤镜效果
开发语言·前端·javascript
m0_748250742 小时前
高性能Web网关:OpenResty 基础讲解
前端·openresty