将Node.js安装在Raspberry Pi 2上
最近,我需要在Raspberry Pi 2上安装node.js,但由于CPU是ARM且版本为v6(较旧),因此在网络上找到的相关信息很少,我非常困难。
为了减少其他人遇到相同问题的困扰,我决定在平日所受到帮助很多的Qiita上进行首次投稿。
首先,安装Node.js到树莓派可以有以下几种方法。
我尝试了很多种方法,但是apt命令运行不顺利,而对于对Node.js不熟悉的我来说,nvm也很难理解…
最终我认为在RaspberryPi2或zero上下载二进制文件是最好的方法,以下是总结的文章。
背景 –
上下文
从一开始就可能会问:“树莓派4已经发布了多少年了吧?”大约四年前,在一无所知的时候,我误买了一个树莓派2(笑),但后来发现它的电流消耗很低,自那以后,它在我们家被充分利用到了极限。
环境
设备型号:树莓派 B+ 1.2 版(armv6l)
(执行 cat /proc/cpuinfo | grep Model 命令的输出结果)
操作系统:Raspbian GNU/Linux 10(buster)
版本:10
(摘自 lsb_release -a 的结果)
选择Node.js的版本
我首先在官方网站上查找了对ARMv6兼容的Node.js版本。对于每个主要版本,我点击了“下载”并确认了是否有“linux-armv6l”的标识(链接)。
听说v11系列似乎是最后一个与ARMv6兼容的版本,但由于没有任何长期支持版本,我决定选择v10系列最后的10.24.1版本,感觉还行。
顺便提一下,树莓派的ARM版本似乎可以通过以下命令(无论哪个都可以)进行确认。
# [ terminal ]
cat /proc/version
uname -a
安装
从下载到安装的步骤。
请在主目录(例如/home/pi)中执行以下操作。
# [ terminal ]
# ダウンロード URLは先程のサイトで調べてコピーします。
wget https://nodejs.org/download/release/v10.24.1/node-v10.24.1-linux-armv6l.tar.xz
# 展開
tar xJvf node-v10.24.1-linux-armv6l.tar.xz
# 展開されたファイルを全てコピー
sudo cp -r node-v10.24.1-linux-armv6l/* /usr/local/
# 下記コマンドが成功したらOK
node -v
npm -v
# 不要なファイルを削除しておく(任意)
rm node-v10.24.1-linux-armv6l.tar.xz
rm -r node-v10.24.1-linux-armv6l/
补充1:安装目录结构应该如下所示。我参考了上述的“官方脚本”安装情况。
目标目录/bin
├ node
├ npm
参考:每种方式的安装位置
在树莓派启动时持续运行
我以为我成功地按照上述步骤安装了!然而这种喜悦很快就消失了,因为在树莓派启动时,我想执行 forever start app.js,但是这让我遇到了一些麻烦…
我想要做成这样的感觉。
# crontab -e
@reboot forever start /home/pi/sample/app.js
如果在~/.profile中不起作用,也无法将其转化为systemd服务…
当我陷入困惑时,我在网上找到了一个建议,建议使用systemd直接运行app.js,而不是在systemd上使用forever start app.js,所以我尝试了一下。
以下是Unit文件的示例。
# /etc/systemd/system/foreversample.service
[Unit]
Description=sample service for Node.js forever
[Service]
Type=simple
User=pi
ExecStart=node /home/pi/sample/app.js
[Install]
WantedBy=multi-user.target
最后只需执行和设置自动启动。
#[ terminal ]
sudo systemctl start foreversample
sudo systemctl enable foreversample
我终于成功地使它正常运转了!
公式脚本
我打算在这里备忘录式地留下一种使用官方脚本的方法。我已经成功在RaspberryPi3B+上进行了安装。
#[ terminal ]
curl -sL https://deb.nodesource.com/setup_18.x | bash -
$ sudo apt install -y nodejs
GitHub官方网站
最后
通过查看网络上的信息,我们可以发现安装Node.js到Raspberry Pi上似乎让很多人感到困难。虽然以前一直从Qiita的文章中获得帮助,但我希望这篇文章对有此困扰的人能有所帮助。
请参考以下网站
使用公式二进制文件安装Node.js
使用公式脚本安装Node.js在Node.js官方脚本中使用
启动时运行 forever