首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Electron-Builder Linux更新-未定义APPIMAGE环境

Electron-Builder Linux更新-未定义APPIMAGE环境
EN

Stack Overflow用户
提问于 2018-09-21 19:21:32
回答 3查看 1.5K关注 0票数 3

我使用的是Electron + Create React应用堆栈。我正在使用电子更新程序(https://github.com/develar/electron-updater)进行自动更新。

平台: Linux,格式: AppImage。

当我的应用检查更新时,我得到以下错误:

未定义APPIMAGE env。

是否有人遇到过同样的问题?需要建议。

EN

回答 3

Stack Overflow用户

发布于 2020-09-10 01:24:05

大多数情况下,当您试图在开发模式(或非打包AppImage模式)中使用自动更新程序时,就会出现这种情况。它只能在打包的生产版本中工作。

然而,对我来说,这也发生在打包的AppImage中,并被证明是由使用webpack DefinePlugin引起的,如下所示:

代码语言:javascript
复制
plugins: [
    new webpack.DefinePlugin({
        "process.env": {
            NODE_ENV: JSON.stringify("production")
        },
        ...

删除process.env定义允许在分布式包中再次定义APPIMAGE。似乎其余的定义可以安全地留在原地,而不会破坏自动更新器。

如果您的用例不能删除此定义,则可以简单地在主线程(不是渲染器线程)文件的开头覆盖它,如下所示:according to some users

代码语言:javascript
复制
process.env.APPIMAGE = path.join(__dirname, 'dist', `MyApp-${app.getVersion()}.AppImage`)

..。显然,在Path.join的第三个参数中使用了正确的文件名。

不过,这种覆盖方法似乎对我没有任何帮助,所以我自己选择了简单地从DefinePlugin定义中删除process.env,但它在其他情况下可能会有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2018-09-21 21:49:59

尝试使用电子生成器来构建您的应用程序,因为此模块处于仅维护模式。linux的autoUpdate是不可能的,你只能在mac和windows上读取这个documentation

票数 -2
EN

Stack Overflow用户

发布于 2018-09-22 02:21:18

请不要再使用电子更新器,因为根据它的GitHub页面,它不再被支持。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52442650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档