电子在树莓派上不起作用

Posted

技术标签:

【中文标题】电子在树莓派上不起作用【英文标题】:Electron not working on Raspberry Pi 【发布时间】:2015-11-02 19:50:27 【问题描述】:

目前,我正在为我的 Raspberry Pi 开发一个“kiosk”应用程序。我决定使用Electron,因为它提供了我需要的关键功能:将基于 Web 的 UI 与直接系统相结合,通过 node.js 进行 I/O 访问。

但是,Electron 拒绝在我的 Raspberry Pi 上运行,而它在我用于开发的计算机上运行良好。在终端中发出electron . 后没有任何反应,程序只是退出而不显示窗口或命令行中的任何错误。有什么线索吗?到目前为止,我在网上找不到任何东西。我通过npm install electron-prebuilt -g 安装了 Electron,它下载并安装了最新的 ARM 版本。

如果这是一个无法解决的兼容性问题:Electron 有什么好的替代品吗?

提前致谢!

【问题讨论】:

我也有同样的问题。您现在找到解决方案了吗? 很遗憾,我还没有找到解决方案 - 我仍在努力 您能详细说明一下您的设置吗?您使用哪个发行版?你是如何安装nodejs的?你安装了哪个版本的nodejs? 我使用 Raspbian 发行版,因为它已经为以前的项目安装。然后我通过我在我的工作机器上成功完成的节点包管理器安装了电子。尽管如此,(出于私人原因)我将无法在接下来的两三周内进一步调查这个问题。最近的一个怀疑是没有足够的 RAM 来执行 Electron。 我今天在家里试用了更新的 raspbian 版本和 16GB SD 卡。取自github.com/hokein/electron-sample-apps 的示例现在对我有用。所以它要么是可用空间,要么是更新的 raspbian 版本。 【参考方案1】:

不幸的是,该错误的原因是 Electron 目前不支持 ARM 设备。我们将不得不等到它实施

看到这个问题https://github.com/atom/electron/issues/1702

--更新

正如@skeggse 所说,Electron 现在确实支持 ARM。

1 获取依赖项 apt-get install libgtk2.0-0 libnotify4 libgconf2-4 libnss3 node npm

2 从here

下载名为 electron-...-linux-arm.zip 的最新 arm 版本

3 unzip electron-...-linux-arm.zip

4 进入文件夹并双击名为electron

的文件

5 玩得开心!

【讨论】:

我不认为这是正确的 - 该问题已关闭,如果您关注问题链,您会发现 #2094 这表明它们为 ARM 进行了交叉编译。他们的 ARM 交叉编译完全有可能与 RPi 不兼容,在这种情况下(如@user650881 所述),您应该从源代码编译。【参考方案2】:

根据您使用的 Raspberry Pi,它可能是不兼容的二进制文件。我相信电子预构建的二进制文件以 armv7-hf 为目标。尝试从源头构建电子。说明可以在这里找到https://github.com/atom/electron/blob/master/docs/development/build-instructions-linux.md

请注意,如果您有兴趣使用硬件浮点支持(至少在 RPiB+ 之前),您可能希望运行 Raspbian 或其他支持硬浮点的端口。 (ref)

【讨论】:

直接在 rPi 上构建 Electron? Prerequisites: At least 25GB disk space and 8GB RAM.【参考方案3】:

以用户 pi 的身份连接到 Raspberry SSH,然后执行以下操作:

# Clone this repository
git clone https://github.com/electron/electron-quick-start
# Go into the repository
cd electron-quick-start
# Install dependencies
npm install
# Set display
export DISPLAY=:0
# Run the app
npm start

【讨论】:

问题出在这部分:export DISPLAY=:0 感谢 mate :)【参考方案4】:

这是一个相当广泛的问题。您可以尝试在应用程序的第一行停止:

electron --debug-brk=5858 .

这将帮助您确定是电子问题还是您的应用程序问题。

http://electron.atom.io/docs/v0.30.0/tutorial/debugging-main-process/

【讨论】:

electron --debug-brk=5858 . 也不产生任何输出。但我认为它与我的应用程序无关,因为它很简单(目前只打开一个带有基本角度 js 应用程序的窗口)。感谢您的帮助!

以上是关于电子在树莓派上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Electron setLoginItemSettings 在托盘菜单应用程序上不起作用

SendGrid Cc 和 Bcc 在 PHP 上不起作用

为啥发件人行在我的邮件功能上不起作用?

需要输入 在 iPad 3 上的 Safari 上不起作用

为啥 firebase auth 在我的新三星手机上不起作用?

ASP.NET Core 2.2 - 密码重置在 Azure 上不起作用(无效令牌)