やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

ラズパイ3に最新Node.jsをインストールする

nを使って複数バージョン共有可にする。

開発環境

現状確認

$ node -v
v0.10.29
$ npm -v
bash: npm: コマンドが見つかりません

参考

インストールする物

ソフトウェア 説明
Node.js Webサーバソフトウェア。JSで書ける。
npm) Node.jsのパッケージ管理ツール。
n Node.jsのバージョン管理ツール。npmモジュール。

今回

Node.jsには複数のインストール方法がある。ここではnを使った方法を用いる。

  1. apt-getNode.js, npmをインストールする
  2. npmnをインストールする
  3. nで最新のNode.js, npmをインストールする
  4. apt-getNode.js, npmを削除する
  5. 環境変数を設定する

手順

$ sudo apt-get install -y nodejs npm
$ sudo npm cache clean
$ sudo npm install -g n
$ sudo n stable
     install : node-v9.4.0
       mkdir : /usr/local/n/versions/node/9.4.0
       fetch : https://nodejs.org/dist/v9.4.0/node-v9.4.0-linux-armv7l.tar.gz
######################################################################## 100.0%
   installed : v9.4.0

この時点で確認しても変わってない。

$ node -v
$ node -v
v0.10.29
$ npm -v
1.4.21

apt-getでインストールしたNode.js, npmを削除。

$ sudo apt-get purge -y nodejs npm

コマンドが消えている。

$ node -v
bash: /usr/bin/node: そのようなファイルやディレクトリはありません
$ npm -v
bash: /usr/bin/npm: そのようなファイルやディレクトリはありません

nでインストールされたNode.js, npmのパスを環境変数に追加する。ログによると追加すべきパスは/usr/local/n/versions/node/9.4.0

まずは現在の環境変数をみてみる。

$ printenv PATH
/home/pi/.pyenv/shims:/home/pi/.pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

環境変数に追記する。

$ export PATH=$PATH:/usr/local/n/versions/node/9.4.0” 

追記されたことを確認。

$ printenv PATH
”/home/pi/.pyenv/shims:/home/pi/.pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/usr/local/n/versions/node/9.4.0”

Node.js, npmコマンドを打つ。パスが通ったことを確認。

$ node -v
v9.4.0
$ npm -v
5.6.0

2018-01-28時点で、node 9.4.0, npm 5.6.0 が最新。成功!