2016-09-01 3 views
8

तो मैं Heroku करने के लिए एक छोटी परियोजना को तैनात करने की है, लेकिन जब मैं इसे तैनात और heroku run rake db:migrate भागने की कोशिश की यह मुझे निम्नलिखित त्रुटि दिखाई कोशिश कर रहा हूँ:Heroku और रेल: Postgres साथ रत्न लोड करने में त्रुटि, लेकिन यह GEMFILE में निर्दिष्ट किया जाता

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). 
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.6/lib/active_record/connection_adapters/connection_specification.rb:177:in `rescue in spec' 
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.6/lib/active_record/connection_adapters/connection_specification.rb:174:in `spec' 
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.6/lib/active_record/connection_handling.rb:50:in `establish_connection' 
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.6/lib/active_record/railtie.rb:120:in `block (2 levels) in <class:Railtie>' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:28:in `block in on_load' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:27:in `each' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:27:in `on_load' 
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.6/lib/active_record/railtie.rb:116:in `block in <class:Railtie>' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/initializable.rb:30:in `instance_exec' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/initializable.rb:30:in `run' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/initializable.rb:55:in `block in run_initializers' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/initializable.rb:54:in `run_initializers' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/application.rb:352:in `initialize!' 
/app/config/environment.rb:5:in `<top (required)>' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/application.rb:328:in `require_environment!' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/application.rb:457:in `block in run_tasks_blocks' 
Gem::LoadError: pg is not part of the bundle. Add it to Gemfile. 
/app/vendor/bundle/ruby/2.2.0/gems/bundler-1.11.2/lib/bundler/rubygems_integration.rb:304:in `block in replace_gem' 
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.6/lib/active_record/connection_adapters/postgresql_adapter.rb:16:in `<top (required)>' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require' 
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.6/lib/active_record/connection_adapters/connection_specification.rb:175:in `spec' 
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.6/lib/active_record/connection_handling.rb:50:in `establish_connection' 
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.6/lib/active_record/railtie.rb:120:in `block (2 levels) in <class:Railtie>' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:38:in `execute_hook' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:28:in `block in on_load' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:27:in `each' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/lazy_load_hooks.rb:27:in `on_load' 
/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.6/lib/active_record/railtie.rb:116:in `block in <class:Railtie>' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/initializable.rb:30:in `instance_exec' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/initializable.rb:30:in `run' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/initializable.rb:55:in `block in run_initializers' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/initializable.rb:54:in `run_initializers' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/application.rb:352:in `initialize!' 
/app/config/environment.rb:5:in `<top (required)>' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency' 
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/application.rb:328:in `require_environment!' 
/app/vendor/bundle/ruby/2.2.0/gems/railties-4.2.6/lib/rails/application.rb:457:in `block in run_tasks_blocks' 
Tasks: TOP => db:migrate => environment 
(See full trace by running task with --trace) 

मैं पहली पंक्ति है कि मैं अपने मणि फ़ाइल में pg मणि लोड करने के लिए की जरूरत है से देख सकते हैं, हालांकि मैं पहले से ही यह उत्पादन समूह में लोड और bundle के माध्यम से स्थापित किया है। यहाँ मेरी GEMFILE है:

source 'https://rubygems.org' 
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '4.2.6' 
gem 'sass-rails', '~> 5.0' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.1.0' 
gem 'jquery-rails' 
gem 'turbolinks' 
gem 'jbuilder', '~> 2.0' 
gem 'sdoc', '~> 0.4.0', group: :doc 
gem 'devise', '~> 3.5', '>= 3.5.6' 
gem 'paperclip', '~> 4.3', '>= 4.3.6' 
gem 'materialize-sass' 
gem "font-awesome-rails" 
gem 'bootstrap-sass', '~> 3.2.0' 
gem 'autoprefixer-rails' 
gem 'ratyrate' 

group :development, :test do 
    gem 'byebug' 
end 

group :development do 
    gem 'web-console', '~> 2.0' 
    gem 'spring' 
end 

group :development do 
    gem 'sqlite3' 
end 

group :production do 
    gem 'pg' 
    gem 'rails_12factor' 
end 

इस सवाल का पोस्ट करने से पहले मैं एक ही सवाल (rake about database adapter inconsistent with database.yml, rake aborted! Gem::LoadError: Specified 'postgresql' for database adapter, Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded) वहाँ जवाब का उपयोग कर के जवाब को पढ़ लिया है, त्रुटि अभी भी हुई।

की मदद :)

+0

बंडल के बाद क्या आपने अपनी रत्न फ़ाइल को उसकेोकू में धक्का दिया था? –

+0

हाँ, 'Gemfile.lock' फ़ाइल रिपोजिटरी –

+0

में उत्पादन के बाहर पीजी लिखने का प्रयास करें, बंडल, जेमॉक, जेमफाइल और उसके कोड को पुश कोड के साथ अपना कोड दें, फिर कोशिश करें –

उत्तर

0

प्रयास के लिए धन्यवाद उत्पादन के बाहर स्नातकोत्तर लिखने के लिए, बंडल gemlock, gemfile साथ उर कोड के लिए प्रतिबद्ध और Heroku करने के लिए कोड को धक्का तब पुन: प्रयास

24

मैं इस सटीक मुद्दा था और द्वारा इसका समाधान नहीं होता बदल रहा है:

'pg', '~> 0.20' 
+0

यह करना है कि अगर स्टैक डंप में आप पीजी के निचले संस्करण को देख सकें और हेरोकू को दबाएंगे (कम से कम) – SimonKiteley

+3

वही समस्या, हम पीजी 1.0.0 का उपयोग कर रहे थे - 0.2 काम करने के लिए स्विचिंग। हमारे लिए स्पष्ट क्यों कोई कारण नहीं है। –

+4

संस्करण 0.21 मेरे लिए काम करता है लेकिन 1.0.0 नहीं – Qwertie

संबंधित मुद्दे