Где находится локальный node.js из электронного каркаса?

452
MADforFUNandHappy

Дополнительная информация:

Я использую каркас электрон в сочетании с собственными модулями узла noble и bleno для доступа к функциональности адаптера bluetooth (noble и bleno созданы для версии узла электронов с перестроением электронов ). Electron использует собственную версию узла вместо версии системного узла.

Описание проблемы:

Однако Noble требует, чтобы я запустил электрон от имени пользователя root для доступа к устройству Bluetooth.

Поскольку это не очень хорошее решение для производственного использования, я попробовал официальную команду, sudo setcap cap_net_raw+eip $(eval readlink -fwhich node)но она устанавливает разрешения только для версии системного узла.

Я решил, что мне следует использовать ту же команду и заменить команду subshell $(eval readlink -fwhich node)на версию, которую использует электронная версия локального узла.

До сих пор мне не удалось найти правильное местоположение электронов node.js.

Вопрос: Так где же находится локальный узел node.js электронов?

0

1 ответ на вопрос

0
MADforFUNandHappy

Решение:

По-видимому, он находится в ./node_modules/electron/dist этом каталоге, вы найдете бинарный электрон иlibnode.so

Дополнительная информация:

Если вы попытаетесь использовать, setcapчтобы добавить разрешения на электрон. /node_modules/electron/dist/electronон будет жаловаться на отсутствие общей библиотеки, libnode.soдаже если она там есть. Это предназначено для Linux, и вы должны связать его вручную, также посмотрите этот вопрос об этом.

Похожие вопросы