5

Rails アプリを heroku にプッシュすると、プリコンパイルが機能せず、何かをしようとすると (heroku の再起動、データベースのリセット、データベースの移行、heroku の名前の変更など)、次のエラーが発生します。

更新: 私のラップトップでも、Bundler がローカルで動作していないようです。

/usr/local/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:52:in `initialize': Valid types are [:development, :runtime], not nil (ArgumentError)
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.0/lib/bundler/resolver.rb:371:in `new'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.0/lib/bundler/resolver.rb:371:in `search'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.0/lib/bundler/resolver.rb:361:in `gems_size'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.0/lib/bundler/resolver.rb:159:in `start'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.0/lib/bundler/resolver.rb:159:in `map'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.0/lib/bundler/resolver.rb:159:in `start'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.0/lib/bundler/resolver.rb:128:in `resolve'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.0/lib/bundler/resolver.rb:127:in `catch'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.0/lib/bundler/resolver.rb:127:in `resolve'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.0/lib/bundler/definition.rb:182:in `resolve'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.0/lib/bundler/definition.rb:113:in `specs'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.2.0/lib/bundler/environment.rb:27:in `specs'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194@global/gems/rubygems-bundler-1.1.0/lib/rubygems-bundler/noexec.rb:56:in `candidate?'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194@global/gems/rubygems-bundler-1.1.0/lib/rubygems-bundler/noexec.rb:74:in `setup'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194@global/gems/rubygems-bundler-1.1.0/lib/rubygems-bundler/noexec.rb:89
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/aaa/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:9

これは、元のプッシュで起こったことです。

   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?
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:1208:in `initialize'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:1208:in `new'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:1208:in `connect'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:326:in `initialize'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `new'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `postgresql_connection'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:315:in `new_connection'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:325:in `checkout_new_connection'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:247:in `block (2 levels) in checkout'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:242:in `loop'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:242:in `block in checkout'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:239:in `checkout'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:102:in `block in connection'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:101:in `connection'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:410:in `retrieve_connection'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_specification.rb:171:in `retrieve_connection'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_specification.rb:145:in `connection'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/model_schema.rb:308:in `clear_cache!'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/railtie.rb:97:in `block (2 levels) in <class:Railtie>'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:418:in `_run__1193294461922673159__prepare__3401192585586483770__callbacks'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:405:in `__run_callback'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:385:in `_run_prepare_callbacks'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:81:in `run_callbacks'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.9/lib/action_dispatch/middleware/reloader.rb:74:in `prepare!'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.9/lib/action_dispatch/middleware/reloader.rb:48:in `prepare!'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/application/finisher.rb:47:in `block in <module:Finisher>'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/initializable.rb:30:in `instance_exec'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/initializable.rb:30:in `run'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/initializable.rb:55:in `block in run_initializers'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/initializable.rb:54:in `each'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/initializable.rb:54:in `run_initializers'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/application.rb:136:in `initialize!'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/railtie/configurable.rb:30:in `method_missing'
   /tmp/build_13mv4cuh78fg0/config/environment.rb:5:in `<top (required)>'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `block in require'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:236:in `load_dependency'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/application.rb:103:in `require_environment!'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/application.rb:297:in `block (2 levels) in initialize_tasks'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.9/lib/sprockets/assets.rake:93:in `block (2 levels) in <top (required)>'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.9/lib/sprockets/assets.rake:60:in `block (3 levels) in <top (required)>'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.9/lib/sprockets/assets.rake:23:in `invoke_or_reboot_rake_task'
   /tmp/build_13mv4cuh78fg0/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.9/lib/sprockets/assets.rake:29:in `block (2 levels) in <top (required)>'
   Tasks: TOP => environment
   (See full trace by running task with --trace)
   Precompiling assets failed, enabling runtime asset compilation

この問題を解決するために誰かが提供できる助けをいただければ幸いです。

更新: これは私の Gemfile です:

source 'https://rubygems.org'

gem 'rails', '3.2.9'
gem 'pg'
gem 'redis'
gem 'bcrypt-ruby', '3.0.1'
gem 'jquery-rails'
gem 'rails-i18n'
gem 'globalize3', '~> 0.2.0'
gem 'batch_translations', '~> 0.1.2'

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end
4

1 に答える 1

2

ここであなたが抱えている問題に似た解決策を見つけました

Assets:heroku のプリコンパイル エラー

基本的に、この行config.assets.initialize_on_precompile = falseapplication.rbファイルに追加するように指示されています。どうやら Rails 3.2 と Heroku に問題があったようです。これで問題が解決する場合としない場合がありますが、可能性が狭まります。

また、Gemfile に次の行を追加してみてください:行ruby "1.9.3"のすぐ下source。これがうまくいくかどうか教えてください。また、その行を追加した後、必ず bundle install を実行してください。

于 2012-12-01T21:38:14.877 に答える