株式会社インデペンデンスシステムズ横浜

システム開発エンジニアの西田五郎が運営しております。新規開発案件のご依頼をお待ちしております。

*

Raspberry PiでのNode.jsの導入(その1)インストールと動作確認

      2015/03/03

Node.jsとは、Node.js 日本ユーザグループのサイトから引用させて頂きますと、「Node.jsは高速でスケーラブルなネットワークアプリケーションを 簡単に構築するためにChrome の JavaScript 実行環境 上に構築されたプラットフォームです。」とあります。サーバサイドのJavaScriptの代名詞とも言えるかと思います。

このNode.jsをRaspberry Piで導入して使ってみます。Web系でサーバサイドということでは伝統的にはApache等のHTTPサーバを導入してということになるかと思いますが、Raspberry Piの性能(ここではModel B+です)を考えると動作が軽い方が適しているので Node.jsを使ってみることにしました。今回はインストールと動作確認です。

nodebrewでのインストール
Node.jsのインストールにはいろいろな方法があるようです。またバージョンアップが頻繁に行われているためなのかバージョン管理の方法も複数あるようです。ここでは簡単と思われたnodebrewというバージョン管理ツールを使いました。その方法です。

nodebrew自体のインストール
以下のGitHubサイトの通りです。
$ curl -L git.io/nodebrew | perl – setup
以下はTeraTermでのスクリーンショットです。以降、同様にTeraTermでのスクリーンショットです。
0001
パスの追加の指示があるので追加します。ここでは、.bashrcの最後に追記して、.bashrcの再読み込みを実行しました。
0002
0003

以上でnodebrew自体のインストールは完了です。確認の意味で nodebrew ls-remoteと実行しますと以下のようにnode.jsのバージョンの一覧が表示されます。
0005

node.jsのインストール
次にnode.jsのインストールです。まずインストールの方法ですが、バイナリインストールとビルドインストールがあります。バイナリインストールの方が速いですが、バージョンによってはRaspberry Pi用のバイナリファイルがない場合があるようです。バージョンに制約があって仕方がない場合はビルドインストールを使い、制約がない場合はバイナリファイルが存在するバージョンをインストールするという方法が現実的とも思います。(※ここではビルドは1時間以上経過しても完了しなかったのでやめました。)

ここでは以下のようにインストールしました。
$ nodebrew install-bainary 0.11.0

以下のスクリーンショットでは、v0.11.16をインストールしようとして見つからなかったのでv0.11.0で実行しています。(※その間のバージョンは試していないです。)
0003

インストールが完了してもまだnode.jsは使えません。(※スクリーンショットの状態です。)node.jsのバージョンを以下のように設定します。
$ nodebrew use 0.11.0
0008
以上でnode.jsのインストールも完了です。

これで以下のスクリーンショットの状態のように、node -vでバージョンが確認出来ます。これでnode.jsが使えます。
0004

node.jsの動作確認
やはりHelloWorld的なスクリプトを実行してみます。Node.js 日本ユーザグループのサイトから引用させて頂きます。

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

これをexample.jsに保存して、node exampleと実行します。
0009

ここではそのままlocalhost上での実行となっているのでリモートデスクトップから以下のように確認出来ました。
0012

今回はここまでとします。次回はもう少しWebサーバ的なプログラムを作ってみます。


 - Node.js, Raspberry Pi

AdSense

AdSense

  関連記事

Raspberry PiでIoT(温度・湿度・気圧データ編 その1)BME280でデータ取得

Raspberry PiでIoTに取り組んでみるという内容で実際に動作させながら …

Raspberry PiでのNode.jsの導入(その2)Webサーバ的なプログラム

Raspberry PiでのNode.jsの導入の2回目です。前回はインストール …

Raspberry Piでタッチアプリ開発(その1)ハードウェア構成・開発環境等

Raspberry Piで簡単なタッチアプリを開発する手順について書きます。もち …

Raspberry Pi 3でのコンソールケーブル利用と初期設定

Raspberry Pi 3 でコンソールケーブルを利用する方法と初期設定につい …

Raspberry PiでIoT(温度・湿度・気圧データ編 その3)データ表示とグラフ表示

Raspberry PiでIoT 温度・湿度・気圧データ編の3回目です。前回まで …

Raspberry Piをモニターとキーボードなしで導入する(その1)SSHでのログインまで

Raspberry Piをモニターとキーボードなしで導入する方法についてです。 …

Raspberry Piでタッチスクリーン付3.5インチTFTを使ってみた

Raspberry Piでタッチスクリーン付モニタを使ってみました。PiScre …

Raspberry PiでIoT(MQTTで遠隔操作編 その1)MQTTでの通信

Raspberry PiでIoTのMQTTで遠隔操作編のシリーズを始めます。実際 …

Raspberry PiでAC100V(ソリッド・ステート・リレー)制御

Raspberry PiでAC100VのON/OFF制御を試してみました。今回そ …

Raspberry PiでIoT(温度・湿度・気圧データ編 その2)Webサーバ側構築とデータ送信

Raspberry PiでIoT 温度・湿度・気圧データ編の2回目です。前回はR …