PC版 Rasbian Pixcelにnode.jsをインストールする

PC版 Rasbian Pixcelにnode.jsをインストールする

勉強会でUbuntu系のOSをつかってNode.jsを触る必要があったので、以前設定していたPC版Rasbian Pixelを使用しようと思いました。

ご存知の通りUbuntuベースのデフォルトのNode.jsのバージョンは古いので何とかしなければなりません。RaspberryPiでNode.jsのインストールの関連を何回かやっていたのですが、PC版では初めてということでインストールのメモ。ソースから入れると厳しいのでググるとよく出てくるn packageを使用します。

github.com

インストール手順

n packageをインストールするにもNode.jsが必要なので以下の手順をとります。

  1. デフォルトのNode.jsパッケージとnpm(何れも古いもの)をインストール
  2. 古いnpmを使用してn packageをインストール-gでインストール
  3. n packageを使用して比較的新しいNode.jsをインストール(LTSかStableか)
  4. 最初に入れたデフォルトパッケージのNode.jsとnpmを削除

デフォルトのNode.jsパッケージとnpm(何れも古いもの)をインストール

他と同様にapt-getを使用してインストールを行います。

$ sudo apt-get install -y nodejs npm

デフォルトのパッケージではコマンドがnodeではなくnodejsになっていました。 バージョンを確認します。

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

古いnpmを使用してn packageをインストール-gでインストール

つづいて、n packageをインストールします。

$ sudo npm cache clean
$ sudo npm install n -g

一行目のキャッシュクリアはインストール時にキャッシュが悪さをすることがあるようなので対策になります。

【参考】 qiita.com

n packageを使用して比較的新しいNode.jsをインストール(LTSかStableか)

n packageがインストールできたので、これを使用して新しいバージョンのNode.jsをインストールします。

stableをインストールする場合は以下で

$ sudo n stable

LTSをインストールする場合は以下で

$ sudo n lts

インストールされたnodeをデフォルトとして使用できるように、シンボリックリンクで入れ替えておきます。

$ sudo ln -sf /usr/local/bin/node /usr/bin/node

-fは強制処理フラグです。

処理が終わったらバージョンの確認になります。少数点以下のバージョンでなければ問題ないでしょう。最近のパッケージでは4以上対応になっているものが多いようです。 自分はstableでインストールしたので以下の様になりました。(2017/04/25現在)

$ node -v
v7.8.0
$ npm -v
4.2.0

最初に入れたデフォルトパッケージのNode.jsとnpmを削除

最初にパッケージでいれたNode.jsとnpmは不要になるのでパッケージから削除します。

$ sudo apt-get purge -y nodejs npm

これで終了です。

おわりに

単なる備忘録になってしまいました。ただ、n packageがあればバージョンを簡単に変更できるのでこちらの方が簡単に管理できそうです。 思いなおしてみるとRaspberryPi側もn packageを使ったほうが良かったのかなと思いました。