Raspberry Pi ZeroにNode.jsをインストールする方法

友人からRaspberry Pi Zeroをいただいたので、何か作って遊ぼうと思ってNode.jsのインストールを試みたところ、なかなかスムーズにいかなかったので、詳細と対処法をメモしておきます。

  • Raspberry Pi Zero 1.3
  • RASPBIAN STRETCH LITE v2018-03

事前準備:Raspberry Piのセットアップ

手元のMacがUSBカードリーダーを認識してくれなかったので、参考ページを見ながら、Windowsを使ってセットアップを行いました。

このZeroはWi-fiを搭載していないモデルなので、Windowsのネットワークを共有してインターネットに接続するようにします。

Node.jsのインストール

無事SSHで接続することができたので、Node.jsのインストールを行います。

まずは上の参考ページどおりにインストールを試みますが、次のようなエラーが出て、インストールが失敗します。

pi@raspberrypi:~ $ sudo apt-get install -y nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package nodejs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'nodejs' has no installation candidate

対処1:sudo apt-get updateをする(失敗)

実行しましたが、結果は変わりませんでした。

対処2:nodejs-legacyをインストールする(失敗)

nodejsと同じエラーが出てインストールできませんでした。

対処3:deb.nodesource.comからダウンロード(失敗)

以下のコマンドを紹介しているページがありましたが、このコマンドでもインストールすることができませんでした。

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

対処4:Zero用のシェルスクリプトを使ってインストール(成功)

GitHubにZero向けのシェルスクリプトを掲載してくれている方がおり、これを使うことでインストールすることができました。

sdesalas/node-pi-zero: Node installation on the Raspberry Pi Zero

Latestを選択したので、最新版が入りました。

pi@raspberrypi:~ $ node -v
v9.11.1
pi@raspberrypi:~ $ npm -v
5.6.0

参考ページ