vue 3 +电子简单示例不起作用

时间:2019-04-25 22:34:02

标签: vue.js electron electron-builder

我尝试使用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。 ..

还有其他建议吗?

1 个答案:

答案 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