2012-01-25 3 views
27

rake assets:precompile --traceを実行したときにアプリケーションがデータベースに接続しようとしている理由をデバッグしようとしています。rake assets:データベースへの接続をプリコンパイルしよう

私はおそらくスタックトレースで何かを見逃しています...だれでも関連する行が見えますか?

DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in ActionController::Base instead. (called from <top (required)> at /Users/Kyle/Desktop/skateparks-web/config/application.rb:4) 
** Invoke assets:precompile (first_time) 
** Execute assets:precompile 
/Users/Kyle/.rvm/rubies/ruby-1.9.2-p290/bin/ruby /Users/Kyle/.rvm/gems/[email protected]/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace 
DEPRECATION WARNING: The InstanceMethods module inside ActiveSupport::Concern will be no longer included automatically. Please define instance methods directly in ActionController::Base instead. (called from <top (required)> at /Users/Kyle/Desktop/skateparks-web/config/application.rb:4) 
** Invoke assets:precompile:all (first_time) 
** Execute assets:precompile:all 
** Invoke assets:precompile:primary (first_time) 
** Invoke assets:environment (first_time) 
** Execute assets:environment 
** Invoke environment (first_time) 
** Execute environment 
rake aborted! 
FATAL: database "skateparks_production" does not exist 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:1161:in `initialize' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:1161:in `new' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:1161:in `connect' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:316:in `initialize' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:27:in `new' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:27:in `postgresql_connection' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:277:in `new_connection' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:287:in `checkout_new_connection' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:235:in `block (2 levels) in checkout' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:230:in `loop' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:230:in `block in checkout' 
/Users/Kyle/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:229:in `checkout' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:95:in `connection' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:374:in `retrieve_connection' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:168:in `retrieve_connection' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:142:in `connection' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/model_schema.rb:308:in `clear_cache!' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activerecord-3.2.0/lib/active_record/railtie.rb:91:in `block (2 levels) in <class:Railtie>' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activesupport-3.2.0/lib/active_support/callbacks.rb:418:in `_run__2041913228368879189__prepare__1991931652306887621__callbacks' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activesupport-3.2.0/lib/active_support/callbacks.rb:405:in `__run_callback' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activesupport-3.2.0/lib/active_support/callbacks.rb:385:in `_run_prepare_callbacks' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activesupport-3.2.0/lib/active_support/callbacks.rb:81:in `run_callbacks' 
/Users/Kyle/.rvm/gems/[email protected]/gems/actionpack-3.2.0/lib/action_dispatch/middleware/reloader.rb:74:in `prepare!' 
/Users/Kyle/.rvm/gems/[email protected]/gems/actionpack-3.2.0/lib/action_dispatch/middleware/reloader.rb:48:in `prepare!' 
/Users/Kyle/.rvm/gems/[email protected]/gems/railties-3.2.0/lib/rails/application/finisher.rb:48:in `block in <module:Finisher>' 
/Users/Kyle/.rvm/gems/[email protected]/gems/railties-3.2.0/lib/rails/initializable.rb:30:in `instance_exec' 
/Users/Kyle/.rvm/gems/[email protected]/gems/railties-3.2.0/lib/rails/initializable.rb:30:in `run' 
/Users/Kyle/.rvm/gems/[email protected]/gems/railties-3.2.0/lib/rails/initializable.rb:55:in `block in run_initializers' 
/Users/Kyle/.rvm/gems/[email protected]/gems/railties-3.2.0/lib/rails/initializable.rb:54:in `each' 
/Users/Kyle/.rvm/gems/[email protected]/gems/railties-3.2.0/lib/rails/initializable.rb:54:in `run_initializers' 
/Users/Kyle/.rvm/gems/[email protected]/gems/railties-3.2.0/lib/rails/application.rb:136:in `initialize!' 
/Users/Kyle/.rvm/gems/[email protected]/gems/railties-3.2.0/lib/rails/railtie/configurable.rb:30:in `method_missing' 
/Users/Kyle/Desktop/skateparks-web/config/environment.rb:5:in `<top (required)>' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in `require' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in `block in require' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:236:in `load_dependency' 
/Users/Kyle/.rvm/gems/[email protected]/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in `require' 
/Users/Kyle/.rvm/gems/[email protected]/gems/railties-3.2.0/lib/rails/application.rb:103:in `require_environment!' 
/Users/Kyle/.rvm/gems/[email protected]/gems/railties-3.2.0/lib/rails/application.rb:292:in `block (2 levels) in initialize_tasks' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:205:in `call' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:205:in `block in execute' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:200:in `each' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain' 
/Users/Kyle/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke' 
/Users/Kyle/.rvm/gems/[email protected]/gems/actionpack-3.2.0/lib/sprockets/assets.rake:89:in `block (2 levels) in <top (required)>' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:205:in `call' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:205:in `block in execute' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:200:in `each' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain' 
/Users/Kyle/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:176:in `block in invoke_prerequisites' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:174:in `each' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:174:in `invoke_prerequisites' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:157:in `block in invoke_with_call_chain' 
/Users/Kyle/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke' 
/Users/Kyle/.rvm/gems/[email protected]/gems/actionpack-3.2.0/lib/sprockets/assets.rake:56:in `block (3 levels) in <top (required)>' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:205:in `call' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:205:in `block in execute' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:200:in `each' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain' 
/Users/Kyle/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:112:in `invoke_task' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:90:in `block (2 levels) in top_level' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:90:in `each' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:90:in `block in top_level' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:84:in `top_level' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:62:in `block in run' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:59:in `run' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/bin/rake:32:in `<top (required)>' 
/Users/Kyle/.rvm/gems/[email protected]/bin/rake:19:in `load' 
/Users/Kyle/.rvm/gems/[email protected]/bin/rake:19:in `<main>' 
Tasks: TOP => environment 
rake aborted! 
Command failed with status (1): [/Users/Kyle/.rvm/rubies/ruby-1.9.2-p290/bi...] 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_utils.rb:53:in `block in create_shell_runner' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_utils.rb:45:in `call' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_utils.rb:45:in `sh' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_utils_ext.rb:36:in `sh' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_utils.rb:78:in `ruby' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_utils_ext.rb:36:in `ruby' 
/Users/Kyle/.rvm/gems/[email protected]/gems/actionpack-3.2.0/lib/sprockets/assets.rake:9:in `ruby_rake_task' 
/Users/Kyle/.rvm/gems/[email protected]/gems/actionpack-3.2.0/lib/sprockets/assets.rake:17:in `invoke_or_reboot_rake_task' 
/Users/Kyle/.rvm/gems/[email protected]/gems/actionpack-3.2.0/lib/sprockets/assets.rake:25:in `block (2 levels) in <top (required)>' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:205:in `call' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:205:in `block in execute' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:200:in `each' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain' 
/Users/Kyle/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:112:in `invoke_task' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:90:in `block (2 levels) in top_level' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:90:in `each' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:90:in `block in top_level' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:84:in `top_level' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:62:in `block in run' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:59:in `run' 
/Users/Kyle/.rvm/gems/[email protected]/gems/rake-0.9.2/bin/rake:32:in `<top (required)>' 
/Users/Kyle/.rvm/gems/[email protected]/bin/rake:19:in `load' 
/Users/Kyle/.rvm/gems/[email protected]/bin/rake:19:in `<main>' 
Tasks: TOP => assets:precompile 

答えて

36

rake assets:precompileは、データベースへの接続を含むデフォルトでアプリケーションを初期化します。

config.assets.initialize_on_precompile = false 

Rails Guide on Precompiling Assets

+10

これはRails 4ではもう機能しません。 –

+0

上記のリンクは最新のドキュメントになります(警告はありませんでした)。この警告のあるRails 3.2版のドキュメントについては、次のURLにアクセスしてください:http://guides.rubyonrails.org/v3.2.13/asset_pipeline.html#precompiling-assets – Nick

+0

@KARASZIIstvánこれはRails 4.2.4で動作しているようです。それは固定されていると思う。 – mawaldne

4

それはあなたの状況に理にかなっている場合、あなたは環境assets:precompileが動作するはずそれに対して選択することができます:あなたはこれを追加し、それについての警告については、以下のリンクを参照することができconfig/application.rbインサイド

次のコマンドを使用します。

rake assets:precompile:all RAILS_ENV=development RAILS_GROUPS=assets 

これは通常、私の展開に意味があります。

  1. (私のVPSのメモリが何らかの形で制限されるため)私は、zipファイルを転送し、私は公共/資産
  2. で生成された資産にすべてのアプリケーションをzip圧縮
  3. レーキは、私の開発マシン上で資産を生成するために作りますvps ansにパッケージを解凍してください。

希望します。

+0

ありがとう!これは、バンドルされたアセットを持つセル4を使用する場合にも最適です。セルはレールティを経由してAPにディレクトリを追加しますが、ロードするセルクラスファイルを必要とし、initialize_on_precompileをオフにするとこれが中断されます。 – apotonick

1

同じ問題がありました。私はローカル(開発)の資産をプリコンパイルしようとした時はいつでもバージョン3にスプロケットを更新した後、しかし、本番環境の設定を使用して、私はこのエラーが発生しました:

rake aborted! Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded. Add宝石「PG」to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).

ので、私の中でローカル(開発)私はMySQLを使用し、サーバ(プロダクション)ではPostgresを使用します。

config.assets.initialize_on_precompileRails 4.2.1で利用できないため、解決済みとマークされた回答は私にとっては機能しません。解決するために

、私は3つの簡単な手順に続く:あなたのGemfileで

  1. 、追加:database.ymlgem "activerecord-nulldb-adapter"
  2. を、次のようにアダプタを変更します。

    production:

    adapter: <%= ENV['DB_ADAPTER'] ||= 'postgresql' %> 
    
  3. プロダクション資産ロケをコンパイルするにはlly。あなたのターミナルで実行します。DB_ADAPTER=nulldb RAILS_ENV=production rake assets:precompile

このソリューションは、私に解決し、私はhereをsawyed。

関連する問題