我使用的是Electron + Create React应用堆栈。我正在使用电子更新程序(https://github.com/develar/electron-updater)进行自动更新。
平台: Linux,格式: AppImage。
当我的应用检查更新时,我得到以下错误:
未定义APPIMAGE env。
是否有人遇到过同样的问题?需要建议。
发布于 2020-09-10 01:24:05
大多数情况下,当您试图在开发模式(或非打包AppImage模式)中使用自动更新程序时,就会出现这种情况。它只能在打包的生产版本中工作。
然而,对我来说,这也发生在打包的AppImage中,并被证明是由使用webpack DefinePlugin引起的,如下所示:
plugins: [
new webpack.DefinePlugin({
"process.env": {
NODE_ENV: JSON.stringify("production")
},
...删除process.env定义允许在分布式包中再次定义APPIMAGE。似乎其余的定义可以安全地留在原地,而不会破坏自动更新器。
如果您的用例不能删除此定义,则可以简单地在主线程(不是渲染器线程)文件的开头覆盖它,如下所示:according to some users:
process.env.APPIMAGE = path.join(__dirname, 'dist', `MyApp-${app.getVersion()}.AppImage`)..。显然,在Path.join的第三个参数中使用了正确的文件名。
不过,这种覆盖方法似乎对我没有任何帮助,所以我自己选择了简单地从DefinePlugin定义中删除process.env,但它在其他情况下可能会有所帮助。
发布于 2018-09-21 21:49:59
尝试使用电子生成器来构建您的应用程序,因为此模块处于仅维护模式。linux的autoUpdate是不可能的,你只能在mac和windows上读取这个documentation。
发布于 2018-09-22 02:21:18
请不要再使用电子更新器,因为根据它的GitHub页面,它不再被支持。
https://stackoverflow.com/questions/52442650
复制相似问题