前口上
タイトルのとおりです。
クラウドIDE である Eclipse/Che を mruby の開発環境として使う場合の勘所が,本記事の主題です。
本記事で扱う Che のバージョンは 5.0.0-M7 です。
問題点
Step by step ではなく,要点だけ手短に記します。
Eclipse/Che には,Rails アプリケーション開発用の Stack (Workspace の雛形)が用意されています。Rails 用ですから Ruby, gem に加え C/C++ が含まれています。なんとなくこれを mruby 用に使えそうな気がします。
しかしながら,その Stack を用いて,mruby の GitHub 公式リポジトリから clone してビルドすると,途中でエラー終了します。
ビルドログだけ見てると理由が判りづらいのですが,エラー終了の原因は,Rails 用のコンテナイメージに gperf
が含まれいないことです。
ふつうの Rails アプリで gperf
を使うことは極めて稀でしょうから,入っていなくても文句をいう筋合いではありません。
解法
ビルド前に Teminal タブで sudo apt-get update && sudo apt-get install gperf
など実行すれば解決するはずです。
しかし,ワークスペースを作るたびにこれを繰り返すのはあまりにもイケていないので,gperf
を含むコンテナイメージを作りました。compose 設定は下記のとおりです。
services:
dev-machine:
image: 'pf0camino/mruby:latest'
この compose 設定を使ったワークスペースの作り方は,別記事「Eclipse/Che を組込み向けクロス開発環境として使ってみる。」を参照してください。
余談
mruby は組込み Ruby ですから,クロスコンパイラを使ったビルドも可能になっています。
この辺りのノウハウを期待される読者もいらっしゃるような気もしますが,それはまた別の機会に。