Rails Production環境でプリコンパイルする時の留意点

カテゴリ: Ruby

記事投稿日: 2013年1月7日



Ruby

Ruby

Railsで自作したエラーコードの画面を確認しようとして
コンパイルエラーが出たので、対処してみました。

たんにサーバをProductionモードに切り替えて起動しただけでは
CSSファイルや画像ファイルの読み込み時にエラーが出ることがあるようです。

Productionモードを初めて使う時の留意点も含めて、
コンパイル関係のエラーをなくす方法を以下にまとめてみました。

(1) Productionモードで実行するため、
事前準備として各モードのDBを作成しているか確認

migrateをproductionのデータベースに対して実行する
rake db:migrate RAILS_ENV=production

(2) production.rb
→ config.serve_static_assets を true にする
→ config.assets.compile を true にする
※本番から開発に切り替えるときは元に戻して
サーバを再起動する。

(3) Productionを指定してサーバを起動する
rails s -e production

(4) コンパイルエラーが発生する場合、アセットパイプライン機能で、
app/assets以下をコンパイルする
bundle exec rake assets:precompile RAILS_ENV=production
コンパイル後、念のためサーバを再起動する

※コンパイル済みのアセットをクリアするには以下のコマンドを実行すること。
bundle exec rake assets:clean RAILS_ENV=production

※参考URL
「Rails 3.2のproduction環境でisn’t precompiledと出る場合の対処」
http://qiita.com/items/fcf57edfaa18acabcb87

「Rails 3.1.0でrake assets:precompileするとプリコンパイルに失敗してしまうバグの話。」
http://journal.sooey.com/155








コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA




トップに戻る