Raspberry Pi で node.js

Raspberry Pi で node.js 。

といっても、先日、Meteor 動かしたんだけど、重すぎだったので、もうちょっと軽い構成にしてみようと思った。

Meteor は内包された node.js を使う (ちょっと古いやつ) ので、個別に node.js は入っていなかった。

で、インストールするのだが、これは特に書くほどでもなくて、公式の Linux – armv7 用のバイナリがそのまま動く。 なので、基本的にダウンロード、展開して、パスを通すだけである。

Meteor は正直、重くて、使う気にならないレベルだったが、素の node.js ならば、問題なく動くようだ。 メモリ使用量も virtual は結構使うが、 real はそれほどでもないので、実用性はありそう。

いわゆる MEAN スタックも動くが、 MongoDBがちょっとメモリ食いかなと思う。 MEAN の フルスタック scaffold は、さすがに重いので、個別に Express.js, Angular.js, socket.io あたりを集めてくれば、軽い。

今は、Express.js, Vue.js, socket.io でリアクティブの勉強中。

Raspberry Pi で Meteor

Raspberry Pi で Javascript / Node.js フレームワークの Meteor を動かす。

といっても、バイナリを用意してくれているプロジェクトがあるので、git clone するだけでインストールできる。 GitHub のプロジェクト 4commerce-technologies-AG/meteor の README.md に手順が書いてある。

このプロジェクトでバイナリが配布される前でも、ソースからビルドすれば動いたようだが、ビルドは1日掛かりになったとか。まあそんな感じはする。

基本的に

git clone --depth 1 https://github.com/4commerce-technologies-AG/meteor.git

して、PATHを通すだけ。

初回の実行に Rasberry Pi 3B で約20分掛かった。 他の遅い機種では厳しそう。
また create や、サンプルの起動にもそれぞれ5分くらい掛かる。
起動してしまえば、ちょっと重いが、普通に動作するように見えるので、省電力で上げっぱなしに出来ることを考えれば、使えなくはないかもしれない。

しかし、Rails とか Node.js とか、プロジェクトの実行時にライブラリを用意して、かつ、x86/x64 以外はビルドが入るようなやつだと、どうしても重いなあ~と思う。

起動時に MongoDB が Locale が認識できないというエラーが出る場合は、sudo raspi-config でロケールを en_US.UTF-8 に変更すると回避できる。