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

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

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

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

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

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

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

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

1 ответ1

0

Решение:

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .