我尝试使用electron
构建示例vuejs 3
应用。我在运行node
版本v10.15.1
的Debian Buster上。
我或多或少遵循了https://github.com/nklayman/vue-cli-plugin-electron-builder中给出的描述:
vue --version
3.6.3
vue create frontend
cd frontend/
npm run serve //everything is fine
vue add electron-builder
npx vue-cli-service electron:serve
dist_electron/index.js
已成功编译,但是在消息INFO Launching Electron...
之后,什么都没有发生。
也许我认为我的electron
安装已损坏:
./node_modules/electron/dist/electron --version
[29769:0426/003034.548566:FATAL:setuid_sandbox_host.cc(157)] 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/info/frontend/node_modules/electron/dist/chrome-sandbox is owned by root and has mode 4755.
正如Cloud Soh Jun Fu所建议的,我试图更改权限和所有权:
sudo chown root:root chrome-sandbox
sudo chmod 4755 chrome-sandbox
现在它可以按预期运行,但是不知何故我对此感觉不佳...我的意思是,我只做了一些基本的事情,为此,我希望开箱即用electron
。 ..
还有其他建议吗?
答案 0 :(得分:1)
最近有一个电子错误报告,其中涉及同样的问题:#17972。
降级到Electron 4.x是一种可能的解决方案。
提到了另一个解决方法,它启用了“用户名称空间沙箱”而不是“ SUID沙箱”:
sudo sysctl kernel.unprivileged_userns_clone=1
假定默认情况下在Ubuntu上启用了此选项,但在Arch Linux上则未启用,并且显然在您的Debian系统上也未启用。要使更改永久生效,您可以创建具有以下内容的/etc/sysctl.d/electron.conf
:
kernel.unprivileged_userns_clone = 1