背景

程序是用vue2+js写的,然后需要打包成linux arm64的桌面程序,使用electron来打包。最开始在arm64上安装好了所需要的环境依赖,然后运行npm run electron:build来打包,出现各种错误,都无法解决,但是打出来的dist包是能够运行程序的,这并不保险。

解决方法

在另一台linux架构为x86的机器上打包。
首先需要修改前端的vue.config.js文件的配置,代码如下。添加electronBuilder配置。

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  pluginOptions:{
    electronBuilder:{
      builderOptions: {
        "linux": { "target": [ { "target": "AppImage", "arch": [ "x64", "arm64" ] } ] }
      }
    }
  },
  
})

然后就可以开始打包啦,运行npm run electron:build
打包成功,可以看到dist_electron里有xdetector-0.1.0-arm64.AppImage的程序。然后把整个dist_electron文件传到arm64的机子上,双击xdetector-0.1.0-arm64.AppImage,发现无法运行。
弹窗说

There is no application installed for “AppImage application bundle” files.
这个是权限问题。
在该目录下打开终端,输入ll,发现该程序的权限是rw-rw-r--
输入命令sudo chmod a+x xdetector-0.1.0-arm64.AppImage
再输入ll查看权限是rwxrwxr-x
然后再双击程序,或者输入./xdetector-0.1.0-arm64.AppImage就可以运行了
这个方法是参考https://blog.csdn.net/OneQuestionADay/article/details/119339884

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐