1

私はオンラインのrailstutorialをフォローしています。私は初心者で、2 つ目のアプリを完成させました。ローカル マシンでは問題なく動作しますが、heroku に問題があります。アプリを正常にプッシュした後、heroku rake db:migrateを実行しましたが、ページ にこのエラーが表示されます

アプリケーションでエラーが発生したため、ページを表示できませんでした。しばらくしてからもう一度お試しください。あなたがアプリケーションの所有者である場合は、ログで詳細を確認してください

コマンドラインに次の警告が表示されます。

レーキが中止されました! postgresql アダプターをインストールしてください: gem install activerecord-postgresql-adap ter(pg はバンドルの一部ではありません。Gemfile に追加してください。)

このエラーをグーグルで検索したところ、この文字列を gemfile に追加する必要があることがわかりました。

gem 'sqlite3', :group => :development gem 'pg', :group => :production

それを実行して再試行しましたが、何も変わりませんでした。コマンドラインにはまだこれがあります

postgresql アダプターをインストールしてください: gem install activerecord-postgresql-adap ter(pg はバンドルの一部ではありません。Gemfile に追加してください。)

間違いなくpg gemを持っていたので、理解できません。ローカルマシンで彼のインストールを見ることができます

Using thor (0.14.6)
Using railties (3.2.1)
Using coffee-rails (3.2.2)
Using jquery-rails (2.0.2)
Using pg (0.13.2)
Using rails (3.2.1)
Using sass (3.1.16)
Using sass-rails (3.2.5)
Using sqlite3 (1.3.6)
Using uglifier (1.2.4)

しかし、herokuサーバーにバンドルをインストールすると、同じことがわかりません

 Installing thor (0.14.6)
  Installing railties (3.2.1)
  Installing coffee-rails (3.2.2)
  Installing jquery-rails (2.0.2)
  Using bundler (1.0.7)
  Installing rails (3.2.1)
  Installing sass (3.1.16)
  Installing sass-rails (3.2.5)
  Installing uglifier (1.2.4)

どうすれば解決できますか?本当にわからない。私を助けてください。

ところで、私の英語でごめんなさい、私はロシア出身です)

更新: ええ、開発なしで bundle install を実行していることがわかりますが、私の gemfile は次のようになります。

group :production do
  gem 'pg'
end
group :development, :test do
   gem 'sqlite3-ruby', :require => 'sqlite3'
end

ご覧のとおり、'pg' は間違いなく開発グループ外ですが、heroku ではインストールされませんでした

4

2 に答える 2

0

Gemfile を更新した場合は、それと Gemfile.lock を git にコミットしてから、アプリケーションを Heroku に再プッシュしてください。

于 2012-04-26T08:36:55.887 に答える
0

Gemfile の開発グループに pg gem を追加したようです。Heroku がデプロイされると実行bundle install --without developmentされます。つまり、そのグループに gem はインストールされません。gem を開発グループの外に移動します。

于 2012-04-26T08:11:36.233 に答える