即使我在开发块中有sqlite,Heroku也不接受push

时间:2011-11-04 09:41:22

标签: ruby-on-rails heroku gem bundler

我的Gemfile中有以下几行:

gem 'rails', '3.1.1'

group :production do
  gem 'pg'
end        

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

我还运行了bundle install来更新我的Gemfile.lock

当我推送到heroku时,我仍然会收到以下错误:

 !
 !     Failed to install gems via Bundler.
 !     
 !     Detected sqlite3 gem which is not supported on Heroku.
 !     http://devcenter.heroku.com/articles/how-do-i-use-sqlite3-for-development
 !
 !     Heroku push rejected, failed to compile Ruby/rails app

我错过了什么?

2 个答案:

答案 0 :(得分:25)

Hoppla。我在这里犯了一个很傻的错误。我目前正在分支机构,但我把主分支推到了Herokum,就像我以前一样。

所以git push heroku master确实推送了旧版本的分支,当然不包含我对Gemfile的更改。

答案 1 :(得分:10)

我在开发块中有sqlite3,但我最近安装了mailcatcher,这是一个有用的宝石,用于捕获已发送的电子邮件并在浏览器中显示给您。

mailcatchersqlite3作为依赖项。将它移回它所属的位置可以解决问题:

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

如果您有此错误但确定未在开发模式之外添加sqlite3,请查找需要它的其他gem。