読者です 読者をやめる 読者になる 読者になる

ここにタイトルが入ります

デザイン&プログラミングのことも書くし、それ以外のことも書く。

【heroku】herokuでRailsアプリを動かすのに必要なこと

ruby web service

ubuntu(11.10)-Ruby(1.9.3)-Rails(3.1)


ubuntuで開発、ローカルでRailsアプリが動くことを確認し、herokuにpushしてデプロイだー
と思ったらheroku上で動かない…


初めてheroku使ったときにわからなかったことがあったのでメモ。

postgreSQL関連のモジュールをインストール

herokuアプリはpostgreSQLを使うので、postgresqlへのアダプタをインストール。
gemで「pq」をインストール。
(GemFileにgem 'pq'を追記しbundle install)

↑すいません嘘書いてました…
gemで「pg」をインストール。
(GemFileにgem 'pg'を追記しbundle install)


この際エラーが出ることがあります。
(すいませんログ記録し忘れてて…)
私は下記のコマンドでpostrgeSQLのライブラリを入れると解決しましたが、
(ubuntuなのでaptで)

$ sudo aptitude install libpq-dev

※他にもいろいろパッケージ等足りませんよ!となる場合があります。
 →その例。参考にさせていただきました!
 "gem install pg" したらエラーがでた - ふしぎなぼうし


assetsの設定

postgreSQLの対応して完成!と思ったらまだでした…
herokuで確認すると、


We're sorry, but something went wrong.
We've been notified about this issue and we'll take a look at it shortly.


というエラー。。


エラーでググるとすぐに解決方法がわかった。
RAILS_ROOT(Railsのプロジェクトディレクトリ)/config/environments/production.rb
に、
config.assets.compile = false
という項目があるので、これをtrueにします。
こうするとassetsが存在しない場合、コンパイルしなおしてくれるみたい。
※まあassetsについてはあまり良くわかってませんけど←


参考にさせていただきました!
Rails3.1でつくったアプリがherokuだとエラーを吐いて動かない - takutism



これで再度herokuにpushすると無事動きました。
めでたし。