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

我的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 

我错过了什么?

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

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

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

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

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

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