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でした。
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
- イメージをMicroSDに書き込んだ後、MicroSDのルートディレクトリに
ssh
という名前で空のファイルを作成
- イメージをMicroSDに書き込んだ後、MicroSDのルートディレクトリに
- Raspbian Stretch Lite 2017-09-07
- イメージをMicroSDに書き込んだ後、MicroSDのルートディレクトリに
ssh
という名前で空のファイルを作成
- イメージをMicroSDに書き込んだ後、MicroSDのルートディレクトリに
- Raspbian Jessie Lite 2017-07-05
インストール
まず、SSH接続をしておきます(Raspberry PiとMac or Windows PCを有線で直接繋いでさくっとSSH接続するなどを参照)
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にアップロードしたファイルを利用し、
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 stable
で Error: invalid version 8.6.0
といったエラーが出る場合は、 n ls
を実行して利用可能なバージョンを調べ、 sudo n 8.5.0
(8.6.0
の前のバージョン)や sudo n lts
を実行してみてください。
インストール後、バージョンの確認とパスが通っているかを確認します
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
がインストールできるようになっていました
(2017/10/08追記)
Raspberry Pi Zero Wにおいて、Error: invalid version 8.6.0
が出ていました。このような場合は、上記のように sudo n 8.5.0
などを実行してみてください。
また、古いバージョンのnpmが入ってしまった場合は、sudo npm install npm -g
を実行してみてください。