Vue 3 + электрон простой пример не работает - PullRequest
2 голосов
/ 26 апреля 2019

Я пытался создать пример приложения electron, используя vuejs 3. Я нахожусь на Debian Buster, работаю node версия v10.15.1.

Я более или менее следовал описанию, приведенному в 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 Ответ

1 голос
/ 29 мая 2019

Существует недавнее сообщение об ошибке Electron с этой же проблемой: # 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
...