我的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
我错过了什么?
答案 0 :(得分:25)
Hoppla。我在这里犯了一个很傻的错误。我目前正在分支机构,但我把主分支推到了Herokum,就像我以前一样。
所以git push heroku master
确实推送了旧版本的分支,当然不包含我对Gemfile的更改。
答案 1 :(得分:10)
我在开发块中有sqlite3
,但我最近安装了mailcatcher
,这是一个有用的宝石,用于捕获已发送的电子邮件并在浏览器中显示给您。
mailcatcher
将sqlite3
作为依赖项。将它移回它所属的位置可以解决问题:
group :development, :test do
gem 'sqlite3'
gem 'mailcatcher'
end
如果您有此错误但确定未在开发模式之外添加sqlite3
,请查找需要它的其他gem。