2012-11-25 34 views
9

मैं अपने रेल Heroku एप्लिकेशन को पुश करने के लिए कोशिश कर रहा था जारी नहीं रख सकते और नीचे के रूप में त्रुटियों प्राप्त किया:त्रुटियाँ हुईं, और Bundler

-

Counting objects: 177, done. Delta compression using up to 2 threads. 
    Compressing objects: 100% (161/161), done. Writing objects: 100% 
    (177/177), 44.73 KiB, done. Total 177 (delta 39), reused 0 (delta 0) 

    -----> Heroku receiving push 
    -----> Ruby/Rails app detected 
    -----> Installing dependencies using Bundler version 1.2.1 
      Running: bundle install --without development:test --path vendor/bundle - 
    -binstubs bin/ 
      Fetching gem metadata from 
      Fetching gem metadata from 
      Installing rake (10.0.2) 
      Installing i18n (0.6.1) 
      Installing multi_json (1.3.7) 
      Installing activesupport (3.2.8) 
      Installing builder (3.0.4) 
      Installing activemodel (3.2.8) 
      Installing erubis (2.7.0) 
      Installing journey (1.0.4) 
      Installing rack (1.4.1) 
      Installing rack-cache (1.2) 
      Installing rack-test (0.6.2) 
      Installing hike (1.2.1) 
      Installing tilt (1.3.3) 
      Installing sprockets (2.1.3) 
      Installing actionpack (3.2.8) 
      Installing mime-types (1.19) 
      Installing polyglot (0.3.3) 
      Installing treetop (1.4.12) 
      Installing mail (2.4.4) 
      Installing actionmailer (3.2.8) 
      Installing arel (3.0.2) 
      Installing tzinfo (0.3.35) 
      Installing activerecord (3.2.8) 
      Installing activeresource (3.2.8) 
      Using bundler (1.2.1) 
      Installing coffee-script-source (1.4.0) 
      Installing execjs (1.4.0) 
      Installing coffee-script (2.2.0) 
      Installing rack-ssl (1.3.2) 
      Installing json (1.7.5) with native extensions 
      Installing rdoc (3.12) 
      Installing thor (0.16.0) 
      Installing railties (3.2.8) 
      Installing coffee-rails (3.2.2) 
      Installing jquery-rails (2.1.3) 
      Installing rails (3.2.8) 
      Installing sass (3.2.3) 
      Installing sass-rails (3.2.5) 
      Installing sqlite3 (1.3.6) with native extensions 
      Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native ex tension. 
      /usr/local/bin/ruby extconf.rb 
      checking for sqlite3.h... no 
      sqlite3.h is missing. Try 'port install sqlite3 +universal' 
      or 'yum install sqlite-devel' and check your shared library search path (the 
      location where your sqlite3 shared library is located). 
      *** extconf.rb failed *** 
      Could not create Makefile due to some reason, probably lack of 
      necessary libraries and/or headers. Check the mkmf.log file for more 
      details. You may need configuration options. 
      Provided configuration options: 
      --with-opt-dir 
      --without-opt-dir 
      --with-opt-include 
      --without-opt-include=${opt-dir}/include 
      --with-opt-lib 
      --without-opt-lib=${opt-dir}/lib 
      --with-make-prog 
      --without-make-prog 
      --srcdir=. 
      --curdir 
      --ruby=/usr/local/bin/ruby 
      --with-sqlite3-dir 
      --without-sqlite3-dir 
      --with-sqlite3-include 
      --without-sqlite3-include=${sqlite3-dir}/include 
      --with-sqlite3-lib 
      --without-sqlite3-lib=${sqlite3-dir}/lib 
      --enable-local 
      --disable-local 
      Gem files will remain installed in /tmp/build_2pense1pvyqut/vendor/bundle /ruby/1.9.1/gems/sqlite3-1.3.6 
    for inspection. 
      Results logged to /tmp/build_2pense1pvyqut/vendor/bundle/ruby/1.9.1/gems/ 
    sqlite3-1.3.6/ext/sqlite3/gem_make.out 
      An error occurred while installing sqlite3 (1.3.6), and Bundler cannot co ntinue. 
      Make sure that `gem install sqlite3 -v '1.3.6'` succeeds before bundling. 

    ! !  Failed to install gems via Bundler. ! !  Heroku push 
    rejected, failed to compile Ruby/rails app 

== =======================================

मेरे नीचे के रूप में GemFile:

=======================================

gem 'rails', '3.2.8' 

    # Bundle edge Rails instead: 
    # gem 'rails', :git => 'git://github.com/rails/rails.git' 

    group :production do gem 'pg' end 

    group :development, :test do gem 'taps' gem 'rvm' 
     gem 'rspec-rails','2.0.1' gem 'annotate' gem 'faker','0.3.1' gem 'rspec','2.0.1' gem 'webrat','0.7.1' gem 'spork','0.8.4' 
    gem 'factory_girl_rails','1.0' end 

    gem 'rake', '~> 10.0.1' 



    #gem 'yaml_db' 

    # Gems used only for assets and not required 
    # in production environments by default. group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' 

    # See https://github.com/sstephenson/execjs#readme for more 
    supported runtimes # gem 'therubyracer', :platforms => :ruby 

    gem 'uglifier', '>= 1.0.3' end 

    gem 'jquery-rails' 

    # To use ActiveModel has_secure_password 
    # gem 'bcrypt-ruby', '~> 3.0.0' 

    # To use Jbuilder templates for JSON 
    # gem 'jbuilder' 

    # Use unicorn as the app server 
    # gem 'unicorn' 

    # Deploy with Capistrano 
    # gem 'capistrano' 

    # To use debugger 
    # gem 'debugger' 

=======================================

मैं ऑनलाइन प्रदान किए गए लगभग सभी समाधानों का प्रयास किया, लेकिन अभी भी कोई भाग्य नहीं है। किसी भी मदद की सराहना की जाएगी।

उत्तर

22

मुझे इसे ऊपर दिए गए आपके कोड में नहीं दिखाई देता है, लेकिन अनुमान लगाया जा सकता है कि आपके पास अपने gem 'sqlite3' आपके गेमफाइल के शीर्ष पर है, इसलिए इसका उपयोग सभी वातावरण में किया जा रहा है। स्क्लाइट हेरोकू पर समर्थित नहीं है, इसलिए इसे उत्पादन समूह से बाहर रखा गया है। निम्नलिखित का प्रयास करें ताकि आप विकास और परीक्षण के लिए sqlite और उसके बाद पीजी हेरोोकू पर उपयोग कर सकें।

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

group :production do 
    gem 'pg' 
end 

+3

धन्यवाद Memoht। आखिरकार मुझे पता चला कि ऐसा इसलिए है क्योंकि मैं शाखा में था और मैं मास्टर को धक्का देने की कोशिश कर रहा था। मैं मास्टर के लिए स्विच किया और फिर से धक्का दिया, बिंगो, यह काम किया। धन्यवाद फिर से .. –

+1

मुझे एक ही समस्या थी। और मैंने sqlite3 को हटाने के लिए प्रतिबद्ध नहीं किया था। ओ_ओ बेवकूफ गलती, इस पोस्ट को पढ़ने वाले अन्य लोगों के लिए दस्तावेज। – BananaNeil

5

एक ही मुद्दा था। यह समझ गया कि मैंने गिट में अपने बदलाव नहीं किए हैं। एक बार मैंने इसे करने के बाद और इसे हेरोोकू में फिर से धक्का दिया, यह बिना किसी मुद्दे के काम किया।

group :development, :test do gem 'sqlite3' end group :production do gem 'pg' end

और फिर

bundle install

लेकिन यह है कि यह त्रुटि फेंक दिया:

+0

वही है, गिट में हेरोोकू में अभी तक किए गए कुछ को धक्का देने की कोशिश नहीं कर रहा था। Commit >> पुश –

+0

यहां जैसा कि मैंने gemfile को बदलने के बाद, यह त्रुटि अभी भी दिखाई दे रही है, मुझे SQLite स्थापित करने में विफल रहा है। तब मुझे एहसास हुआ कि मैंने केवल स्थानीय रत्न बदल दिया है।संशोधित gemfile प्रतिबद्ध करने के बाद, उसके heroku सर्वर फिर से sqlite स्थापित करने की कोशिश नहीं करता है – BillOverFlow

1

निम्नलिखित मेरे लिए अपने Mac पर काम किया

can't find the 'libpq-fe.h header *** extconf.rb failed ***

Homebrew का उपयोग कर इस त्रुटि हल जैसा कि यहां बताया - https://stackoverflow.com/a/20482221/2665896

अर्थात

brew install postgresql 
gem install pg 

तब स्थानीय गुरु के Gemfile और Gemfile.lock प्रतिबद्ध।

फिर git push heroku master एक आकर्षण की तरह काम किया।

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