【问题标题】:Heroku pg issueHeroku pg 问题
【发布时间】:2014-10-15 19:42:17
【问题描述】:

我对 Rails 还很陌生。我正在尝试遵循 Michael Hartl 的 Rails 教程,但在部署到 Heroku 时遇到了问题。我成功地部署了一次,但是现在我已经完成了另一个部分,我再次部署时遇到了麻烦。我已经包含了我的终端输入和结果、我的 database.yml 和我的 Gemfile。提前感谢您的帮助!

sample_app: (master)$ git push heroku master
Fetching repository, done.
Counting objects: 58, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (40/40), done.
Writing objects: 100% (42/42), 5.95 KiB | 0 bytes/s, done.
Total 42 (delta 13), reused 0 (delta 0)

-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.1.2
-----> Installing dependencies using 1.6.3
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
       Using rake 10.3.2
       Using minitest 5.4.2
       Using i18n 0.7.0.beta1
       Using thread_safe 0.3.4
       Using builder 3.2.2
       Using erubis 2.7.0
       Using mini_portile 0.6.0
       Using rack 1.6.0.beta
       Using mime-types 2.4.1
       Using arel 6.0.0.beta1
       Using bcrypt 3.1.7
       Using sass 3.4.5
       Using will_paginate 3.0.7
       Using coffee-script-source 1.8.0
       Using execjs 2.2.1
       Using thor 0.19.1
       Using excon 0.40.0
       Using json 1.8.1
       Using formatador 0.2.5
       Using net-ssh 2.9.1
       Using multi_json 1.10.1
       Using inflecto 0.0.2
       Using ipaddress 0.8.0
       Using subexec 0.2.3
       Using hike 1.2.3
       Using bundler 1.6.3
       Using tilt 1.4.1
       Using tzinfo 1.2.2
       Using faker 1.4.2
       Using nokogiri 1.6.3.1
       Using mail 2.6.1
       Using rack-test 0.6.2
       Using bootstrap-will_paginate 0.0.10
       Using coffee-script 2.3.0
       Using net-scp 1.2.1
       Using bootstrap-sass 3.2.0.0
       Using fog-json 1.0.0
       Using mini_magick 3.8.0
       Using sprockets 2.12.2
       Using activesupport 4.2.0.beta2
       Using rdoc 4.1.2
       Using uglifier 2.5.3
       Using fog-core 1.24.0
       Using globalid 0.3.0
       Using activemodel 4.2.0.beta2
       Using jbuilder 2.1.3
       Using loofah 2.0.1
       Using fog-brightbox 0.5.1
       Using fog-softlayer 0.3.20
       Using activejob 4.2.0.beta2
       Using sdoc 0.4.0
       Using activerecord 4.2.0.beta2
       Using rails-deprecated_sanitizer 1.0.3
       Using rails-html-sanitizer 1.0.1
       Using fog 1.23.0
       Using rails-dom-testing 1.0.3
       Using carrierwave 0.10.0
       Using actionview 4.2.0.beta2
       Using actionpack 4.2.0.beta2
       Using actionmailer 4.2.0.beta2
       Using sprockets-rails 3.0.0.beta1
       Using railties 4.2.0.beta2
       Using coffee-rails 4.0.1
       Using sass-rails 5.0.0.beta1
       Using turbolinks 2.3.0
       Using jquery-rails 3.1.2
       Using rails 4.2.0.beta2
       Your bundle is complete!
       Gems in the groups development and test were not installed.
       It was installed into ./vendor/bundle
       Bundle completed (0.83s)
       Cleaning up the bundler cache.
       Removing rails_12factor (0.0.2)
       Removing pg (0.17.1)
       Removing raindrops (0.13.0)
       Removing rails_stdout_logging (0.0.3)
       Removing unicorn (4.8.3)
       Removing rails_serve_static_assets (0.0.2)
       Removing kgio (2.9.2)
-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       rake aborted!
       Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activerecord-4.2.0.beta2/lib/active_record/connection_adapters/connection_specification.rb:176:in `rescue in spec'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activerecord-4.2.0.beta2/lib/active_record/connection_adapters/connection_specification.rb:173:in `spec'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activerecord-4.2.0.beta2/lib/active_record/connection_handling.rb:50:in `establish_connection'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activerecord-4.2.0.beta2/lib/active_record/railtie.rb:122:in `block (2 levels) in <class:Railtie>'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/lazy_load_hooks.rb:28:in `block in on_load'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/lazy_load_hooks.rb:27:in `each'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/lazy_load_hooks.rb:27:in `on_load'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activerecord-4.2.0.beta2/lib/active_record/railtie.rb:118:in `block in <class:Railtie>'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/initializable.rb:30:in `instance_exec'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/initializable.rb:30:in `run'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/initializable.rb:55:in `block in run_initializers'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/initializable.rb:54:in `run_initializers'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/application.rb:349:in `initialize!'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/config/environment.rb:5:in `<top (required)>'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `require'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `block in require'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:233:in `load_dependency'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `require'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/application.rb:325:in `require_environment!'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/application.rb:438:in `block in run_tasks_blocks'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/sprockets-rails-3.0.0.beta1/lib/sprockets/rails/task.rb:64:in `block (2 levels) in define'
       Gem::LoadError: pg is not part of the bundle. Add it to Gemfile.
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/bundler-1.6.3/lib/bundler/rubygems_integration.rb:252:in `block in replace_gem'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activerecord-4.2.0.beta2/lib/active_record/connection_adapters/postgresql_adapter.rb:16:in `<top (required)>'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `require'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `block in require'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:233:in `load_dependency'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `require'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activerecord-4.2.0.beta2/lib/active_record/connection_adapters/connection_specification.rb:174:in `spec'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activerecord-4.2.0.beta2/lib/active_record/connection_handling.rb:50:in `establish_connection'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activerecord-4.2.0.beta2/lib/active_record/railtie.rb:122:in `block (2 levels) in <class:Railtie>'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/lazy_load_hooks.rb:28:in `block in on_load'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/lazy_load_hooks.rb:27:in `each'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/lazy_load_hooks.rb:27:in `on_load'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activerecord-4.2.0.beta2/lib/active_record/railtie.rb:118:in `block in <class:Railtie>'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/initializable.rb:30:in `instance_exec'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/initializable.rb:30:in `run'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/initializable.rb:55:in `block in run_initializers'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/initializable.rb:54:in `run_initializers'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/application.rb:349:in `initialize!'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/config/environment.rb:5:in `<top (required)>'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `require'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `block in require'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:233:in `load_dependency'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/activesupport-4.2.0.beta2/lib/active_support/dependencies.rb:248:in `require'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/application.rb:325:in `require_environment!'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/railties-4.2.0.beta2/lib/rails/application.rb:438:in `block in run_tasks_blocks'
       /tmp/build_a852f630-86fd-4560-a8ec-95e7343a25ee/vendor/bundle/ruby/2.1.0/gems/sprockets-rails-3.0.0.beta1/lib/sprockets/rails/task.rb:64:in `block (2 levels) in define'
       Tasks: TOP => environment
       (See full trace by running task with --trace)
 !
 !     Precompiling assets failed.
 !

 !     Push rejected, failed to compile Ruby app

To git@heroku.com:someapp.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:someapp.git'

宝石文件

source 'https://rubygems.org'
ruby   '2.1.2'

gem 'rails',                   '4.2.0.beta2'
gem 'bcrypt',                  '3.1.7'
gem 'faker',                   '1.4.2'
gem 'carrierwave',             '0.10.0'
gem 'mini_magick',             '3.8.0'
gem 'fog',                     '1.23.0'
gem 'will_paginate',           '3.0.7'
gem 'bootstrap-will_paginate', '0.0.10'
gem 'bootstrap-sass',          '3.2.0.0'
gem 'sass-rails',              '5.0.0.beta1'
gem 'uglifier',                '2.5.3'
gem 'coffee-rails',            '4.0.1'
gem 'jquery-rails',            '3.1.2'
gem 'turbolinks',              '2.3.0'
gem 'jbuilder',                '2.1.3'
gem 'rails-html-sanitizer',    '1.0.1'
gem 'sdoc',                    '0.4.0', group: :doc

group :development, :test do
  gem 'sqlite3',     '1.3.9'
  gem 'byebug',      '3.4.0'
  gem 'web-console', '2.0.0.beta3'
  gem 'spring',      '1.1.3'
end

group :test do
  gem 'minitest-reporters', '1.0.5'
  gem 'mini_backtrace',     '0.1.3'
  gem 'guard-minitest',     '2.3.1'
end

group :production do
  gem 'pg',             '0.17.1'
  gem 'rails_12factor', '0.0.2'
  gem 'unicorn',        '4.8.3'
end

数据库.yml

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
#
default: &default
  adapter: sqlite3
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: db/test.sqlite3

production:
  <<: *default
  database: db/production.sqlite3

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 postgresql heroku


    【解决方案1】:

    首先更改您的 database.yml。由于在生产中您使用的是 postgres,因此您需要在 database.yml 中提及这一点

    在生产区

    production:
      adapter: postgresql
      encoding: unicode 
      database: database_name
    

    同样再次捆绑安装并将gemfile和gemfile.lock推送到heroku

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-07
      • 1970-01-01
      • 2017-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-29
      相关资源
      最近更新 更多