1

我正在关注在线 railstutorial。我是新手,现在我完成了我的第二个应用程序。它在本地机器上工作正常,但我遇到了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 --without development,但我的 gemfile 现在看起来像:

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

如您所见,'pg' 肯定不在开发组中,但 heroku 没有安装它

4

2 回答 2

0

看起来您将 pg gem 添加到了 Gemfile 中的开发组 - 当 Heroku 部署时,它运行bundle install --without development,这意味着它不会在该组中安装 gem。将 gem 移出开发组。

于 2012-04-26T08:11:36.233 回答
0

如果您更新了 Gemfile,请确保将其提交并将 Gemfile.lock 提交到 git,然后将您的应用程序重新推送到 Heroku。

于 2012-04-26T08:36:55.887 回答