来自 electron 框架的本地 node.js 位于哪里?

来自 electron 框架的本地 node.js 位于哪里?

附加信息:

我使用框架电子与 Node 原生模块结合高贵和 bleno 访问蓝牙适配器功能(noble 和 bleno 是针对电子节点版本构建的,电子重建)。Electron 使用自己的节点版本,而不是系统节点版本。

问题描述:

然而,Noble 要求我以 root 身份运行 electron 才能访问蓝牙设备。

由于这不是一个适合生产使用的好的解决方案,我尝试了官方命令sudo setcap cap_net_raw+eip $(eval readlink -fwhich node),但这只为系统节点版本设置了权限。

我认为我应该使用相同的命令并$(eval readlink -fwhich node)用 electron 使用的本地节点版本替换 subshel​​l 命令。

到目前为止,我还没有找到电子node.js的正确位置。

问题: 那么电子本地node.js位于哪里?

答案1

解决方案:

显然它位于./node_modules/electron/dist 这个目录中,你会找到电子二进制文件和libnode.so

附加信息:

如果您尝试使用setcap在 上添加 electron 的权限。/node_modules/electron/dist/electron它会抱怨缺少共享库libnode.so,即使它在那里。这是 linux 的意图,您必须手动链接它,另请参阅这个问题关于它。

相关内容