2012-11-25 64 views
9

我試圖應用推我的導軌的Heroku並收到錯誤如下:錯誤,而安裝sqlite3的發生,並且捆紮機不能繼續

-

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 

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

我的寶石文件如下:

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

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

我在上面的代碼中沒有看到它,但是猜測你可能在你的gemfile的頂部有gem 'sqlite3',所以它在所有環境中都被使用。 Sqlite在Heroku上不受支持,所以它不在生產組中。請嘗試以下操作,以便您可以使用sqlite進行開發和測試,然後在Heroku上使用號。

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

group :production do 
    gem 'pg' 
end 

+3

謝謝你Memoht。我終於明白那是因爲我在分支上,我試圖推動主人。我切換到主人,並再次推動,賓果,它的工作。再次感謝.. –

+1

我有類似的問題。我還沒有犯下我的sqlite3刪除。 O_o愚蠢的錯誤,爲其他人閱讀這篇文章記錄。 – BananaNeil

5

有同樣的問題。意識到我沒有對Git進行任何修改。一旦我承諾並將其重新推向Heroku,它就沒有問題了。

+0

同樣在這裏,試圖推動Git中還沒有提交給Heroku的東西。提交>>推 –

+0

同樣在這裏,我改變了gemfile後,這個錯誤仍然出現,告訴我安裝sqlite失敗。然後我意識到我只更改了本地gemfile。提交修改後的gemfile後,那麼heroku服務器不會再嘗試安裝sqlite – BillOverFlow

1

以下爲我工作在我的Mac:

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

然後

bundle install

但扔了這個錯誤:

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

解決使用自制此錯誤按此處的說明 - https://stackoverflow.com/a/20482221/2665896

brew install postgresql 
gem install pg 

然後提交的Gemfile和Gemfile.lock的本地主。

然後git push heroku master就像一個魅力工作。

相關問題