我正在为 Linux 生成电子发行版。
这就是应用程序的构建方式
这就是在 packge.json 中构建应用程序的方式
"builderForLinx": "electron-packager --out linx64 --overwrite --platform linux --appname myApp --asar"
这个应用程序结构 myApp -> myApp(linux 可执行文件), mian.js, resources -> myApp.asar
这给出了linux版本的电子包。但我必须运行以下命令才能运行该应用程序
sudo chmod +x ./myApp
sudo chown root chrome-sandbox
sudo chmod 4755 chrome-sandbox
实际上,我从 tfs 构建工件中获取了该应用程序,当我下载该应用程序时,我想直接运行 ./myApp。
这是我的 tfs 定义,我在 bash 中运行所有这些,而不是我的代理/构建机器是 Windows 机器。
#!/bin/bash
cd "$(Build.ArtifactStagingDirectory)/myApp" ; pwd
chown <<username>> chrome-sandbox
chmod 4755 chrome-sandbox
注意:$(Build.ArtifactStagingDirectory) 是指向工件目录的 tfs 变量。
当我直接在 Linux 机器上运行应用程序时,我看到这个错误
The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/staff/kjeeva/licregsNew/v211/licensingclient/linx64/ClientSettings-asar/chrome-sandbox is owned by root and has mode 4755.
我不太熟悉linux环境,对此的任何帮助或建议都会有很大帮助。