2012-12-04 14 views
27

編集:私は新しいruby on rails studentです。herokuにプッシュする際にエラーが発生しました - 私のレーキ資産を中止しました:プリコンパイル

私のGit Push Herokuマスターに続いて、私はHerokuの問題にぶち当たっています。最新かつ最高のレイクアセットを中止します:プリコンパイル。以下に含ま

-----> Preparing app for Rails asset pipeline 
    Running: rake assets:precompile 
    rake aborted! 
    could not connect to server: Connection refused 
    Is the server running on host "127.0.0.1" and accepting 
    TCP/IP connections on port 5432? 
    Tasks: TOP => environment 
    (See full trace by running task with --trace) 
    Precompiling assets failed, enabling runtime asset compilation 
    Injecting rails31_enable_runtime_asset_compilation 
    Please see this article for troubleshooting help: 
    http://devcenter.heroku.com/articles/rails31_heroku_cedar#troubleshooting 

は私のGemfileの内容は以下のとおりです。

gem 'rails', '3.2.8' 
gem 'bootstrap-sass', '2.1' 
gem 'pg' 

group :development, :test do 
    gem 'rspec-rails' 
    gem 'guard-rspec' 
    gem 'guard-spork' 
    gem 'spork' 
    gem 'annotate' 
    gem 'database_cleaner' 
end 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
end 

platforms :jruby do 
    gem 'trinidad' 
    gem 'jruby-openssl' 
end 

gem 'jquery-rails' 

# Use unicorn as the web server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
# gem 'ruby-debug' 

# Bundle the extra gems: 
gem 'RedCloth', '~> 4.2.9', :require => 'redcloth' 
gem 'ruby-openid', :require => 'openid' 
gem 'rack-openid', :require => 'rack/openid' 
gem 'aaronh-chronic', :require => 'chronic' # Fixes for 1.9.2 
gem 'coderay' 
gem 'lesstile' 
gem 'formtastic' 
gem 'will_paginate', '~> 3.0.2' 
gem 'exception_notification', '~> 2.5.2' 
gem 'open_id_authentication' 

# Bundle gems for the local environment. Make sure to 
# put test-only gems in this group so their generators 
# and rake tasks are available in development mode: 
group :test do 
    gem 'database_cleaner' 
    gem 'cucumber-rails', :require => false 
    gem 'cucumber-websteps', :require => false 
    gem 'factory_girl' 
    gem 'rspec' 
    gem 'nokogiri', '~> 1.5.0' 
    gem 'webrat' 
end 

問題になる可能性がありますか?

更新:私はrakeコマンドを--traceで実行しました。本番データベースが存在しないため、私にエラーが発生しました。私は、データベースを作成し、再度--traceを走ったが、これは私が現在、スローされてるものです:

Command failed with status (1): [/usr/local/Cellar/ruby/1.9.3-p286/bin/ruby...] 

答えて

56

Rails 3.1+ Asset Pipeline on Heroku Cedarの記事を参照してください。この正確なシナリオについては、トラブルシューティングのセクションで説明します。

要するに、Herokuアプリケーションは、建物(資産のコンパイルを含む)と実行(アプリケーションが利用可能になる)との間に強い隔たりがあります。これは12-factor app principlesと一貫していますが、アセットのプリコンパイル時にActiveRecordが使用できないことを意味する、データベースを含むビルドフェーズでは、アプリケーションが構成済みのリソースにアクセスできません。

config.assets.initialize_on_precompile = false 

トラブルシューティングのセクションもお勧めします:あなたはconfig/application.rbで資産コンパイル時にアプリケーションをブートストラップしないのRailsを伝えることができ

すくい資産場合:プリコンパイルがまだ機能していない、あなたができますローカルでconfig/database.ymlに存在しないデータベースを設定し、rake assets:precompileを実行して、これをローカルでデバッグしてください。理想的には、データベースに接続せずにこのコマンドを実行できるはずです。

+1

これは私が必要としていたものです。ありがとうございました。 –

+1

重要な点は以下に述べられていますが、その変更をコミットしてください! – CJBrew

13

私はまったく同じ問題で、今夜何時間も苦労しました。 application.rbする

config.assets.initialize_on_precompile = false 

を追加した後、右その後

git commit 

を行うことを忘れないでください。私はこれを忘れてしまい、Herokuは私がapplication.rbを変更したことを知らなかった。彼らはトラブルシューティングのページにこの余分な行を持っていません。 Railsの4

については

4

Herokuの研究所を有効にしますが、この問題に

Herokuのラボを修正する機能:ユーザー-ENV-コンパイル

+1

これは引退したようです。ありがとう@ andy-atkinson(https://devcenter.heroku.com/changelog-items/416 –

+0

) –

3

を有効に私はRailsの4とのいずれもして、この問題を持っていました他の提案が助けになりました。私は最終的にそれを理解し、それはデータベースに接続しようとしているRollify gemのためでした。これはRollify gemで修正されていますが、修正プログラムを入手するには最新のソースコードを入手する必要があります。私はちょうどにRollifyのための私の宝石の輸入を変更します。問題を解決するように見えたし、私は他の提案のいずれかを実行するために持っていなかった

gem 'rolify', :git => 'git://github.com/EppO/rolify.git' 

インストールをバンドルしてgitに変更をコミットすることを忘れないでください。

また、それでも問題が解決しない場合は、使用している宝石をよく見て、データベースに接続しようとしていないことを確認してください。

関連する問題