Ubuntuで環境整備をやったらRailsが動かなくなった
ここ(→Ubuntuの環境整備 - satake7’s memo)の手順で Ubuntu の環境がきれいになったと喜んでいたのもつかの間、いつの間にか Railsアプリが動かなくなってました。
現象
Apache2 の error.log を見るとこんなのが出ています。
[error] [client 192.168.1.3] *** Unexpected error in Passenger: Cannot spawn application '/home/www/2.5-55.jp': Could not read from the spawn server: Connection reset by peer (104)
Passenger が Railsアプリを起こそうとして失敗している模様。なにが原因かわからないので、とりあえず単体のWEBrickを立ち上げて現象を切り分けることにします。
/home/www/2.5-55.jp$ script/server Missing the Rails 2.0.2 gem. Please `gem install -v=2.0.2 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.
あれれ、Railsがインストールされてない、と言ってます。そんな馬鹿な。
/home/www/2.5-55.jp$ s gem list *** LOCAL GEMS *** mysql (2.7)
がーーん。orz...。MySQLしか入ってない。ここでピンときました。あれだ、gem をソースから入れて古いやつを手で消したときに、gem のリストかなんかを取っておいて、それを新しいのにインポートしないといけなかったんだな、きっと。
でもそういえば、ここ(→Ubuntu(MySQL) 初心者Tips - satake7’s memo)に、なんかのときに役に立つかもと思って、gem list を上げてあったんだ、ラッキー。自分の用心深さに感謝です。
対処
自分の日記に上がってる gem list を見てインストールし直します。
$ s gem install -v=2.0.2 rails Successfully installed rake-0.8.1 Successfully installed activesupport-2.0.2 Successfully installed activerecord-2.0.2 Successfully installed actionpack-2.0.2 Successfully installed actionmailer-2.0.2 Successfully installed activeresource-2.0.2 Successfully installed rails-2.0.2 7 gems installed
$ s gem install passenger
Successfully installed fastthread-1.0.1
Successfully installed passenger-1.0.5
$ s gem install ruby-debug Successfully installed columnize-0.1 Successfully installed linecache-0.42 Successfully installed ruby-debug-base-0.10.1 Successfully installed ruby-debug-0.10.1 4 gems installed
$ s gem install hpricot
Successfully installed hpricot-0.6
1 gem installed
どれもこれもすでにインストール済みのものなので、エントリーを作るだけだからか、すぐ終わります。「sources (0.0.1)」と「sqlite3-ruby (1.2.2)」はたぶんなにか試行錯誤してたときに入ってしまったやつなので、とりあえず無視。
これで無事、Railsアプリも動き出しました。