LoginSignup
116
110

More than 5 years have passed since last update.

Raspberry PiにNode.jsとnpmの最新版をインストールする

Last updated at Posted at 2017-07-22

Raspberry Piでapt-getで入れたnpmを使っていて、@type/node などのTypeScriptのtypesパッケージを npm install しようとすると、 npm ERR! 404 'types/node' is not in the npm registry. のようなエラーが出てしまいました。
typesパッケージはnpm 3.xからサポートされているそうですが、記事投稿時(2017/07/23)にapt-getで入れたnpmのバージョンは1.4.21でした。

Raspbian
pi@raspberrypi:~ $ npm -v
1.4.21

また、npm 5.2.0からはnpxというローカルパッケージを手軽に実行できるコマンドが用意されたりしています。
npm 5.2.0の新機能! 「npx」でローカルパッケージを手軽に実行しよう

今回の記事では、Node.jsの最新版(正確には、Stable, LTS, Latestなど)とnpmの最新版を手軽にインストールできる方法を紹介します。

動作環境

  • Raspberry Pi 3 Model B, Raspberry Pi Zero W
    • Raspbian Jessie Lite 2017-07-05
    • Raspbian Stretch Lite 2017-09-07
      • イメージをMicroSDに書き込んだ後、MicroSDのルートディレクトリにsshという名前で空のファイルを作成

インストール

まず、SSH接続をしておきます(Raspberry PiとMac or Windows PCを有線で直接繋いでさくっとSSH接続するなどを参照)

Raspbian
sudo apt-get update
sudo apt-get install -y nodejs npm
sudo npm cache clean
sudo npm install npm n -g
sudo n stable

または、Gistにアップロードしたファイルを利用し、

Raspbian
curl -L https://git.io/v7kPb | bash

sudo n stable の部分を sudo n lts に変更すれば、Node.jsのLTS版(長期サポート版)がインストールされます

記事投稿時(2017/07/23)、Raspberry Pi Zero WではCPUがARMv6系であることに起因すると思われるエラーが出ておりました。
sudo n stableError: invalid version 8.6.0 といったエラーが出る場合は、 n ls
を実行して利用可能なバージョンを調べ、 sudo n 8.5.0 (8.6.0の前のバージョン)や sudo n lts を実行してみてください。

インストール後、バージョンの確認とパスが通っているかを確認します

Raspbian
pi@raspberrypi:~ $ node -v
v8.6.0
pi@raspberrypi:~ $ npm -v
5.4.2

(2017/08/01追記)
Raspberry Pi Zero Wにおいて、Error: invalid version 8.2.1 が出る時期がありましたが、Node.jsの v8.2.1 がインストールできるようになっていました
RPiZeroW_Node_8.2.1.png

(2017/10/08追記)
Raspberry Pi Zero Wにおいて、Error: invalid version 8.6.0 が出ていました。このような場合は、上記のように sudo n 8.5.0 などを実行してみてください。
また、古いバージョンのnpmが入ってしまった場合は、sudo npm install npm -g を実行してみてください。

参考サイト

第三回 Raspberry Pi 3に最新のNode.jsをインストールする

116
110
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
116
110