Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
108
Help us understand the problem. What is going on with this article?
@mascii

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

More than 3 years have passed since last update.

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をインストールする

108
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
mascii
JavaScript, RaspberryPi, Arduino, ESP32の記事が多めです。大学院での専攻はグラフ理論でした。 Zenn: https://zenn.dev/mascii
visasq
ビザスクは「知見と、挑戦をつなぐ」をミッションに、世界で1番のナレッジプラットフォームをつくっています。 様々なニーズにつなぐことで、実際に経験したことで得られた知識や意見を、知見として価値最大化します。組織、世代、地域を超えて、知見を集めつなぐことで、世界中のイノベーションに貢献します。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
108
Help us understand the problem. What is going on with this article?