【问题标题】:Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loadedGem::LoadError: 为数据库适配器指定了“postgresql”,但未加载 gem
【发布时间】:2016-12-31 07:35:14
【问题描述】:

帮帮我!输入“mina deploy”得到这个美感:

我的“/home/deploy/inscope/shared/config/database.yml”看起来:

production:
  adapter: postgresql
  encoding: unicode
  database: ***
  username: ***
  password: ***
  host: localhost

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).
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/connection_specification.rb:190:in `rescue in spec'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/connection_specification.rb:187:in `spec'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activerecord-4.1.0/lib/active_record/connection_handling.rb:50:in `establish_connection'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activerecord-4.1.0/lib/active_record/railtie.rb:129:in `block (2 levels) in <class:Railtie>'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:28:in `block in on_load'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:27:in `each'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:27:in `on_load'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activerecord-4.1.0/lib/active_record/railtie.rb:118:in `block in <class:Railtie>'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/initializable.rb:30:in `instance_exec'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/initializable.rb:30:in `run'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/initializable.rb:55:in `block in run_initializers'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/initializable.rb:54:in `run_initializers'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/application.rb:288:in `initialize!'
   /home/deploy/inscope/tmp/build-142737137923106/config/environment.rb:5:in `<top (required)>'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:247:in `require'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:247:in `block in require'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:232:in `load_dependency'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:247:in `require'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/application.rb:264:in `require_environment!'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/application.rb:367:in `block in run_tasks_blocks'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-2.2.4/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.
   /home/deploy/.rvm/gems/ruby-2.2.0/gems/bundler-1.9.1/lib/bundler/rubygems_integration.rb:261:in `block in replace_gem'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:13:in `<top (required)>'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:247:in `require'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:247:in `block in require'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:232:in `load_dependency'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:247:in `require'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activerecord-4.1.0/lib/active_record/connection_adapters/connection_specification.rb:188:in `spec'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activerecord-4.1.0/lib/active_record/connection_handling.rb:50:in `establish_connection'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activerecord-4.1.0/lib/active_record/railtie.rb:129:in `block (2 levels) in <class:Railtie>'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:28:in `block in on_load'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:27:in `each'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/lazy_load_hooks.rb:27:in `on_load'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activerecord-4.1.0/lib/active_record/railtie.rb:118:in `block in <class:Railtie>'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/initializable.rb:30:in `instance_exec'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/initializable.rb:30:in `run'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/initializable.rb:55:in `block in run_initializers'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/initializable.rb:54:in `run_initializers'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/application.rb:288:in `initialize!'
   /home/deploy/inscope/tmp/build-142737137923106/config/environment.rb:5:in `<top (required)>'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:247:in `require'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:247:in `block in require'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:232:in `load_dependency'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/dependencies.rb:247:in `require'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/application.rb:264:in `require_environment!'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/railties-4.1.0/lib/rails/application.rb:367:in `block in run_tasks_blocks'
   /home/deploy/inscope/tmp/build-142737137923106/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/task.rb:64:in `block (2 levels) in define'
   Tasks: TOP => environment
   (See full trace by running task with --trace)

!错误:部署失败。
-----> 清理构建
断开电流 好的

!命令失败。 失败,状态为 19

【问题讨论】:

  • 你能展示你的 gem 文件中的内容吗?您是否指定了 gem 'pg'?
  • 'pg' 添加,Gemfile: gem 'pg', group: :production gem 'sqlite3', group: :development
  • 我猜还是不行?
  • 是的。上面又发现了一条红线。 /home/deploy/inscope/tmp/build-142737353426931/vendor/bundle/ruby/2.2.0/gems/activesupport-4.1.0/lib/active_support/values/time_zone.rb:285: warning: circular argument reference - now
  • 您在使用指南针吗?如果是,这是不久前的issue。他们现在就修好了。否则,请尝试将您的 Rails 版本更新到至少 4.1.9。

标签: ruby-on-rails ruby database postgresql deployment


【解决方案1】:

你必须添加

gem 'pg'

在您的GEMFILE 中,您可以在第一行错误中看到它:

    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).

【讨论】:

    猜你喜欢
    • 2014-08-11
    • 2015-01-13
    • 2015-12-04
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    相关资源
    最近更新 更多