はじめに
Raspberry pi zero w に node.js をインストールしたくなった。Raspberry pi zero w をサーバーにし、React.jsでアプリケーションを作ってLAN内の別端末から利用したい、というのがその理由だ。気を遣う部分は、今回の対象が、「Raspberry pi zero である」という点である。RaspberryPi3や4とはCPUが違うのだ。Raspberry pi zero に使われているCPUはArmv6, RaspberryPi3や4はArmv7だそうで・・・。あと、Rasberry pi OS は 32bitOS ですよね。
準備
Raspberry pi zero w を Raspberry pi OS lite でセットアップし、まずはインターネットにつながっているLANまでの接続は行った。apt のアップデートができれば、準備オッケーというところではないだろうか。
(この下準備については、前回記事等が参考になるはず・・・。ちないに今回の案件は、前回の4GBディスクとは別のSDカードでRaspberry Pi zero をセットアップ。)
node.js インストール
いつものごとく、諸先輩方の知見を参照する。
【Node.js】Raspberry Pi Zeroに最新のNode.jsをインストールする
https://www.taneyats.com/entry/install-nodejs-on-raspberrypi-zero
上述先輩の記録資料を真似して、OS,CPUに合うソースファイルを公式から取得することにする。
ファイルの取得
見てみると、node-v12 以降は、Armv6のファイルが無いようだ・・・(2021年1月時点)。また、node-v11だと、あとでeslint-typescriptライブラリをインストールできない(create-react-appでReact環境構築について)。そこで、次のとおりファイルを取得する。
# まずは任意のディレクトリを作成(取得ソース展開用)
$ mkdir node_src
$ cd node_src
$ wget https://nodejs.org/dist/latest-v10.x/node-v10.23.2-linux-armv6l.tar.gz
$ tar -zxf node-v10.23.2-linux-armv6l.tar.gz
インストール
先達に倣って、/usr/local にディレクトリ丸ごとコピーして使えるようにする。
$ cd node-v10.23.2-linux-armv6l
$ rm CHANGELOG.md LICENSE README.md
$ sudo cp -R * /usr/local/
確認
コマンドのバージョンを確認してみる。
$ node -v
v10.23.2
npm のバージョンを上げておく。
$ sudo npm install -g npm
$ npm -v
6.14.10
備考
yarn コマンドをインストールする。
$ sudo npm install -g yarn
おわりに
Raspberry pi zero w に node.js をセットアップした。作業時間は1時間くらい。通信量もさほどなく、コンパイル等も不要だったため、コマンドを打って待つ時間もさほどなかった。