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

我在这里找到了一个看起来有点像你在这里遇到的问题的解决方案

资产:预编译错误heroku

它基本上说将此行添加config.assets.initialize_on_precompile = false到您的application.rb文件中。显然 Rails 3.2 和 Heroku 存在问题。这可能会也可能不会解决您的问题,但会缩小可能性。

此外,您可能想尝试在 Gemfile 中添加以下内容:ruby "1.9.3"就在该source行的下方。让我知道这个是否奏效。还要确保在添加该行后运行 bundle install 。

于 2012-12-01T21:38:14.877 回答