【Rails】Rails初心者がherokuにアプリを登録してみる
お久しぶりでございます。
TitaniumMobile以来すっかり更新さぼってましたね。
この半年の間特に何もしていなかったというわけでも無いのですが、ブログに書くネタも結構あったにもかかわらず(ハマッカソンとかハマルビとか・・・)
持ち前のものぐさで何も書きませんでしたよ。
ということで今回はherokuにRailsアプリを登録してみましたよっと。。。(←既に飽きてきている)
まずは登録するアプリを作ろうってことで、サクッと作りました。
なんのひねりも無い、最初のWelcomeページで作れと勧められるレシピアプリですね。
$rails myrecipe
でアプリを作り、
$cd myrecipe $ruby script/generate scaffold recipe title:string author:string description:text書いてある通りにscaffoldし(ちなみにscaffoldの綴りを間違えて数分間ハマったことは内緒だ!)
$rake db:migratemigrateして完成。 [](http://ec2-54-249-233-83.ap-northeast-1.compute.amazonaws.com/wp-content/uploads/2011/07/recipes_-index-3-2.jpg) 寂しいので背景色だけちょっといじったよ! で、ですよ。 やっとこっからherokuさんへアプリを登録するわけです。 herokuのDevCenterを参考にしました。
$sudo gem install herokuまずはgemのインストール。
$git init書いてある通りにどんどんいきます。何も考えずに。
$git add .add + 半角スペース + . ですよ。 これ間違えると、
Do you mean this? </br> add .
みたいな、
『ほんとはこれ打ちたかったんだろ?(ドヤッ』
みたいなメッセージが表示されます。
$git commit -m "new app"
「こ、コミットしました・・・」「ああ、次はCreateだ・・・」
$heroku create
Creating warm-meadow-969... done, stack is bamboo-mri-1.9.2</br> http://warm-meadow-969.heroku.com/ | git@heroku.com:warm-meadow-969.git</br> Git remote heroku addedと、ここまでくるとherokuのMyAppsのページに上記のアプリケーションが出てくると思います。 [](http://ec2-54-249-233-83.ap-northeast-1.compute.amazonaws.com/wp-content/uploads/2011/07/heroku-welcome-to-your-new-app-2.jpg) 次に、Herokuにアプリをリリースします。
$git push heroku master
$heroku rake db:migrateこれでHerokuにアプリが登録されたのでアクセスしてみます。 [](http://ec2-54-249-233-83.ap-northeast-1.compute.amazonaws.com/wp-content/uploads/2011/07/application-error.jpg) ・・・・・。 ・・・・・。 ぎゃあああああーーーーーー!!!! なんかエラーになりました。 とりあえず、エラーの原因を探るため、ログを見てみます。
$heroku logs
2011-07-10T13:43:45+00:00 app[web.1]: Missing the Rails 2.3.5 gem.
Please `gem install -v=2.3.5 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.
幾つか変なエラーが出てましたけど、これが怪しい。
Rails2.3.5 のgemが無い・・・?どういうことなの?
Rubyのバージョンを確認してみます。
$ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
ふむ。
じゃあ、Herokuのほうのバージョンはどうかというと、
$heroku stack
aspen-mri-1.8.6
* bamboo-mri-1.9.2
bamboo-ree-1.8.7
cedar (beta)
- が付いてるのが現在のバージョンです。
うん、違いますね。
Heroku側のバージョンを1.8.7 にすればいいのかな。
$heroku stack:migrate bamboo-ree-1.8.7
これが適用されるのはgitにpushしたときらしいので、再度commitしてpushします。
うまくいった。
最初のページがこれになっちゃうのはアプリの問題ですよね、直さなきゃ。
と思い、recipesのページ見てみると、
なんとか登録完了。ほっ。