1

これは少し奇妙ですが、マシンを更新して ruby​​ 2.0 と rails 4.0 を使用するようにしましたが、heroku リポジトリにプッシュしようとするとエラーが発生し続けます。次の行で何かを取得します

/tmp/build_1f394d14-4e73-419e-9e8f-3bb30d37dc63/vendor/ruby-2.0.0/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 ***

したがって、ここでの明らかな問題は、sqlite3 がインストールされていないため、失敗していることです。次の手順に従って、sqlite3をインストールしました

$: port install sqlite3 +universal

zsh: command not found: portDuhhh ... マシンに macports がないため失敗します

だから私はやった

brew install sqlite3 +universal

sqlite3が機能したことを確認するために、私はやった

sqlite3 -version
3.7.12 2012-04-03 19:43:07 86b8481be7e76cccc92d14ce762d21bfb69504af

sqlite3 がインストールされたので、再試行しgit push heroku masterましたが、同じエラー メッセージが表示されます。ヒントをいただければ幸いです。

Gemfile

source 'https://rubygems.org'
ruby '2.0.0'
#ruby-gemset=railstutorial_rails_4_0

    gem 'rails', '4.0.0'
    gem 'sqlite3', '1.3.8'

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

    gem 'sass-rails', '4.0.0'
    gem 'uglifier', '2.1.1'
    gem 'coffee-rails', '4.0.0'
    gem 'jquery-rails', '3.0.4'
    gem 'turbolinks', '1.1.1'
    gem 'jbuilder', '1.0.2'

    group :doc do
      gem 'sdoc', '0.3.20', require: false
    end

    group :production do
      gem 'pg', '0.15.1'
      gem 'rails_12factor', '0.0.2'
    end
4

2 に答える 2

1

gem 'sqlite3', '1.3.8'Gemfile の開発グループの外側にある行を削除する必要があります。そして、開発グループにある sqlite3 参照を移動して、テスト グループも含めます。

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

問題は、heroku が PostgreSQL を使用していることです。デプロイすると、開発グループの外部と内部にあるため、sqlite3 gem を使用しようとします。

于 2013-10-16T01:23:24.877 に答える
0

ローカル マシンではなく、Heroku 環境側でエラーが発生しています。

この行を削除

gem 'sqlite3', '1.3.8'

Gemfile から、開発グループ ブロックに sqlite3 参照のみを残します。バンドルの更新、コミット、およびプッシュを行います。

Sqlite は Heroku 環境では使用できません (また、Postgres を使用するので必要ありません)。

于 2013-10-16T01:24:17.773 に答える