たねやつの木

Photographs, Keyboards and Programming

【Node.js】Raspberry Pi Zeroに最新のNode.jsをインストールする

f:id:ibuquicallig:20190318114107j:plain

公式ドキュメントにあるようにスクリプトを実行してみます。

$ curl -sL https://deb.nodesource.com/setup_10.x | bash -
## Installing the NodeSource Node.js 10.x repo...


## You appear to be running on ARMv6 hardware. Unfortunately this is not currently supported by the NodeSource Linux distributions. Please use the 'linux-armv6l' binary tarballs available directly from nodejs.org for Node.js 4 and later.

CPUのアーキテクチャがARMv6なのでこの方法では無理です、というような感じのことが書いてあります。ですのでパッケージを自分で取得してインストールします。

手順

ファイルのURLを取得する

リンク先にバージョン毎、OSやCPUごとにファイルが置いてあります。

そこから目的のものを取得します。今回は最新のarmv6用のURLを取得します。

https://nodejs.org/dist/v11.13.0/node-v11.13.0-linux-armv6l.tar.gz
https://nodejs.org/dist/v11.13.0/node-v11.13.0-linux-armv6l.tar.xz

とりあえずよく見るtar.gzのほうを取得します。以下のコマンドをRaspberry Pi上で実行して回答まで行います。

$ wget https://nodejs.org/dist/v11.13.0/node-v11.13.0-linux-armv6l.tar.gz
$ tar zxvf node-v11.13.0-linux-armv6l.tar.gz
...

解凍が終了したら同じ名前のディレクトリが生成されているのでそこに移動し、ファイルを配置しに行きます。

今回のこのファイルを置く場所は/usr/local/に置きます。このディレクトリはパッケージシステム管理外のプログラムを置くための場所で、各ユーザーのpathにも基本的にここのbinが指定されているはずです。解凍したディレクトリ内も同じような構造になっています。

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

以下のコマンドでコピーします。不要なファイルは削除しておきます。 コピー先のディレクトリに同名のディレクトリがありますが統合されます。

$ cd [解凍したディレクトリ]
$ rm CHANGELOG.md LICENSE README.md
$ sudo cp -R * /usr/local/
$ node -v
$ npm -v

以上で導入完了です。npmのバージョンを最新にあげるためには、

$ sudo npm install -g npm

を実行します。

参考

https://www.muckibu.de/install-nodejs-8-raspberry-pi-using-armv6-package/