8

ここに最初の投稿 =) 助けてくれてありがとう、この時点でどんな助けもクールです!

1-スタックオーバーフローへの投稿を検討する前に、かなり多くのことを検索し、たくさんのものを試しました..

2-実行時

   git push heroku master

私はこれを得る:

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

3- Gemfile を確認しました: production と dev/test はそれぞれ pg と sqlite3 用に適切に構成されています

4- Sqlite3.h はここにあります:

   pcbo$ ls -l /usr/include/sqlite3.h
   -rw-r--r--  1 root  wheel  322724  7 Dec  2011 /usr/include/sqlite3.h

5- 言い忘れましたが、私は mac os x を使用しています。

6- 出力: pcbo$ git push heroku master

    Counting objects: 71, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (58/58), done.
    Writing objects: 100% (71/71), 26.46 KiB, done.
    Total 71 (delta 8), reused 0 (delta 0)

    -----> Heroku receiving push
    -----> Ruby/Rails app detected
    -----> Installing dependencies using Bundler version 1.2.0.pre
    Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
   Fetching gem metadata from https://rubygems.org/.......
   Installing rake (0.9.2.2)
   Installing i18n (0.6.0)
   Installing multi_json (1.3.6)
   Installing activesupport (3.2.3)
   Installing builder (3.0.0)
   Installing activemodel (3.2.3)
   Installing erubis (2.7.0)
   Installing journey (1.0.3)
   Installing rack (1.4.1)
   Installing rack-cache (1.2)
   Installing rack-test (0.6.1)
   Installing hike (1.2.1)
   Installing tilt (1.3.3)
   Installing sprockets (2.1.3)
   Installing actionpack (3.2.3)
   Installing mime-types (1.18)
   Installing polyglot (0.3.3)
   Installing treetop (1.4.10)
   Installing mail (2.4.4)
   Installing actionmailer (3.2.3)
   Installing arel (3.0.2)
   Installing tzinfo (0.3.33)
   Installing activerecord (3.2.3)
   Installing activeresource (3.2.3)
   Installing coffee-script-source (1.3.3)
   Installing execjs (1.4.0)
   Installing coffee-script (2.2.0)
   Installing rack-ssl (1.3.2)
   Installing json (1.7.3) with native extensions
   Installing rdoc (3.12)
   Installing thor (0.14.6)
   Installing railties (3.2.3)
   Installing coffee-rails (3.2.2)
   Installing jquery-rails (2.0.2)
   Installing pg (0.12.2) with native extensions
   Using bundler (1.2.0.pre)
   Installing rails (3.2.3)
   Installing sass (3.1.19)
   Installing sass-rails (3.2.5)
   Installing sqlite3 (1.3.6) with native extensions
   Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
   /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_zmjrcoagwpai/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6 for inspection.
   Results logged to /tmp/build_zmjrcoagwpai/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 continue.
   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

7-どんな助けでも本当に感謝しています!

4

2 に答える 2

11

【アップデート1】

あなたの git push ログから、これがあなたの犯人です:-

 Installing sqlite3 (1.3.6) with native extensions

だから、私が最初に疑ったように、大sqlite3失敗はherokuで失敗するgemをロードしようとしています。前述のように、これは 2 つの理由で発生する可能性があります

  1. Gemfile は、本番環境で sqlite3 gem を必要とするように誤って構成されています
  2. 他のいくつかの gem は gem に依存していsqlite3ます。コマンドを使用してgem dependency、gem の依存関係を表示し、依存しているその gem を削除しsqlite3ます。

その後、再実行bundle installすると動作します。

---[Update1終了]---

このエラーが発生する唯一の理由は、sqlite3サポートされていない heroku でデータベースを使用しようとした場合です。あなたを綿密に調べてGemfile、これに似た設定であることを確認してください

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

そして、bundle installあなたのGemfile.lock. 今、herokuをプッシュしてみてください。それでもこのエラーが発生する場合は、使用している gemsqlite3のファイルにハードコードされた依存関係がリストされている可能性がありgemspecます。実際には、gemfile に存在しないにもかかわらず、sqlite3 がロードされています。これを確認するには、localhost で次のコマンドを実行します。

$ bundle install | grep sqlite

最後に、これを試した後。うまくいきません。の完全なログと のgit push heroku master出力をポストバックしますheroku logs

于 2012-06-12T07:51:20.020 に答える
0

sqlite ライブラリが見つからないようです。試してみてください

whereis sqlite3.h

システムにある場合は、次を試してください。

sudo gem install sqlite3-ruby -- --with-sqlite3-include=<"url where it is(for eg: /usr/include)">

よろしく

于 2012-06-12T09:44:31.773 に答える