node.js - 如何让更新的 node.js 版本在 Beaglebone Black ARMv7 板上运行?

标签 node.js linux beagleboneblack armv7

我正在编写一个需要在运行 Angstrom Linux 的 Beaglebone Black 上运行的应用程序。本板上出厂的 linux 已经带有 node,但它是一个非常早期的版本(0.12.7)。所以我尝试使用更新的版本。我去了 node.js 网站并下载了 this archive (用于 ARMv7 的 Node 版本 4.6.1 Linux 二进制文件)。当我在 Beaglebone 上解压缩包并尝试运行 Node 时,我收到一个奇怪的错误:

root@ivt:/sdcard/node-v4.6.1-linux-armv7l/bin# ./node -v
-sh: ./node: No such file or directory

sdcard 是我使用的 SD 卡上的一个 ext4 分区(卡没问题,我也可以从与旧 Node 版本相同的分区运行另一个 Node 项目)。

为什么会出现这个错误,这是什么意思?上面提到的目录中的 Node 可执行文件似乎没问题:

root@ivt:/sdcard/node-v4.6.1-linux-armv7l/bin# file node
node: ELF 32-bit LSB executable, ARM, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x2b816f446e6e77cabfa4c3303376c05a5f90ff2a, not stripped

我认为这对这个板来说应该没问题:

root@ivt:/sdcard/node-v4.6.1-linux-armv7l/bin# cat /proc/cpuinfo
processor       : 0
model name      : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 990.68
Features        : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc08
CPU revision    : 2

Hardware        : Generic AM33XX (Flattened Device Tree)
Revision        : 0000
Serial          : 0000000000000000

我做错了什么||我错过了什么?

最佳答案

您可以通过安装 Debian 8.7 来升级 BeagleBone 的 Node.js 版本。

所有 BeagleBone Debian 镜像(2016 年 11 月 6 日之后)都默认使用 Node.js v4.x。我从 Debian 8.6 (Node.js v0.12.17) 升级到 Debian 8.7 (Node.js v4.7.2)。

这里是你如何做到的:

  1. weekly snapshots 下载 4GB SD LXQT 图像 . 注意:镜像名称包含 BeagleBone Black 的 BBB 或 BeagleBone Black Wireless 的 BBBW(示例 BBBW-blank-debian-8.7-lxqt-4gb-armhf-2017-01-15-4gb。 img.xz)
  2. 解压缩图像(从.img.xz.img)。如果在 Windows 上,您可以使用 7-Zip去做。
  3. 将图像转换为 eMMC 闪存图像。为此,您需要检查 .img 文件中 /boot/uEnv.txt 的内容。重要的是不要评论关于“eMMC Flasher”的行。它应该看起来像:cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3-bbbw.sh
  4. 将图像写入microSD 卡。如果在 Windows 上,您可以使用 Win32 Disk Imager .
  5. 关闭 BeagleBone(通过物理方式断开 USB/电源线)
  6. 插入 microSD 卡
  7. 按住启动开关(靠近 microSD 卡插槽),然后在按住此按钮的同时插入 USB/电源线。继续按住启动开关,直到用户 LED 开始闪烁。
  8. 等到用户 LED 停止闪烁并且所有 4 个用户 LED 都亮起。此过程可能需要 5-25 分钟,具体取决于所使用的图像。
  9. 断开 USB/电源线。
  10. 取出 microSD 卡。否则,您最终将再次刷新 eMMC。
  11. 开启您的 BeagleBone Black。

以下是 BeagleBone(带有按钮和 LED)的概述:

BeagleBone buttons

不要害怕步数。这实际上很简单。还有关于 latest firmware images 的官方指南和 installing the latest software .

关于node.js - 如何让更新的 node.js 版本在 Beaglebone Black ARMv7 板上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40125182/

相关文章:

node.js - 如何将日期作为 Alexa 的输入?

linux - 从 busybox 挂载 ext2 作为完全只读的系统

linux - 基于 unix 的文件系统的文件信息

linux - #interrupt-cells 是 2 但中断是一个 3 元组

node.js - 可选 $match 管道运算符的 Mongodb 聚合追加方法

node.js - 在 app.router 之后添加中间件

linux - 无法从 Windows 连接到 Redis Linux 服务器

linux - crontab 脚本不执行串行命令

networking - 共享从笔记本电脑到 beaglebone black 的互联网访问,然后通过 VNC 服务器访问它

node.js - body-parser 捕获错误的 JSON