Raspberry PiにRailsを入れたときのこと。
あまりすんなりとはいかなかったので、つまづいたところなんかをメモ。
(ちなみにRaspberry Piで動いているOSはArch Linuxです。)
第一の関門 Railsのインストール
Raspberry Piにsshで接続し、gem install rails
とやるだけでRailsのインストールが始まる。
簡単、、、なのだがこれがなかなか終わらない。しかしこれはただ単純に待てばいいので難しいことは何もない。
終わるまで3時間程度。
sshで接続してる場合、ほっとくとタイムアウトしてしまうと思われる。
その場合は、screen というので対策できる。nohup というのもある。
とにかく長時間放置でタイムアウトしちゃってもいい(ログアウトしちゃってもいい)対策は必要。
第二の関門 bundle install
Railsアプリを動かす前準備で bundle install
。やると思います。
これがまた死ぬほど時間かかる上に、インストール中に、
killed
とだけ出て終了しちゃう。当然だが bundle install は終わってない。
こっちのが問題だった。
killed されちゃうのはメモリ不足のため
bundle install で Killed になっちゃうのは、メモリ不足のための模様。
これは、スワップ領域を設定してあげることで回避できた。
スワップ領域設定の方法については、例によってArch LinuxのWikiを参照した。
何でも載ってるね!ちなみ参照したページはこれ - Swap (日本語) - ArchWiki。
killed されなくなったけど、、、超時間かかる
killed されなくなったのはいいけど、Railsのインストールのときと同じく、やたら時間がかかる。。。
9000秒くらいかかったので、実に3時間弱くらい。
なんで時間かかるかというと、まず、 therubyracer をインストールしようとしてるのが原因。
これ自体はいれたかったのでいいんだけど、どうやらこいつを入れるのに伴って、 libv8 というのが入る模様。
そんでこれがどうやら ソースとってきてビルドしている ようなのである。Raspberry Piになんてことさせるんや。。。
最近の割とパワーのあるPCなら10分程度で終わるらしいのだが。
まとめると
RailsをRaspberry Piにインストールするためには、
- スワップ領域を拡大する(bundle install 中に killed されちゃうならば)
- あとはひたすら待つ。トータルで6時間くらい待つ。
ちなみにRailsの起動がまたすっとろい。webrickじゃなくてthinにするとちょっとだけ早くなる気がする、とか。