1

我无法将我的 Ruby on Rails 应用程序推送到 Heroku,因为它一直在尝试安装 sqlite3,而 Heroku 只使用 Postgresql。我已按照这些帖子的说明进行操作:

使用 Sqlite3 将 RoR 应用程序部署到 Heroku 失败

无法推送到 heroku - sqlite3.h 丢失

将我的 sqlite3 gem 设置为仅在开发和测试组中使用,并确保其他 gem 不依赖它,并确保我事先进行了 git commit。它仍然给我同样的“sqlite3.h is missing”错误。我注意到的一件事是,当我运行“gem dependency”命令时,我发现了一些在开发阶段依赖于 sqlite3 的 gem,我认为这没问题,但也许不是。我找不到这些宝石的安装位置。他们是:

Gem 在 2.3.3 上充当可标记

Gem client_side_validations-3.2.1

宝石 cucumber-rails-1.3.0

宝石工厂_女孩-4.1.0

Gem fixture_builder-0.3.4

宝石 kaminari-0.14.1

宝石 orm_adapter-0.4.0

每个都列出了诸如“sqlite3(> = 0,开发)”之类的内容作为依赖项。有人有想法么?

- 编辑 -

这是我的宝石文件:

source 'https://rubygems.org'
gem 'rails', '3.2.11'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
#group :development, :test do
#   gem 'sqlite3'
#end
group :production do
  gem 'thin'
  gem 'pg'
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby
  gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
#gem 'devise'
# #gem 'omniauth'
gem 'omniauth-facebook'
4

2 回答 2

4

我想到了。我在与主人不同的分支上工作,但在推动主人。一旦我改变它就可以了。感谢大家的帮助!

于 2013-01-23T20:38:03.697 回答
3

试试这个,在你的开发和测试中使用 sqlite3,但在生产中使用 pg

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

group :production do
        gem 'thin'
    gem 'pg'
end
于 2013-01-23T07:14:24.143 回答