部署RoR应用程序失败,因为Sqlite3(已经尝试过其他帖子)

时间:2013-01-23 07:08:22

标签: ruby-on-rails heroku sqlite

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

Deploying RoR app to Heroku with Sqlite3 fails

Can't push to heroku - sqlite3.h is missing

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

Gem act-as-taggable-on-2.3.3

Gem client_side_validations-3.2.1

Gem cucumber-rails-1.3.0

Gem factory_girl-4.1.0

Gem fixture_builder-0.3.4

Gem kaminari-0.14.1

Gem orm_adapter-0.4.0

每个都列出类似“sqlite3(> = 0,development)”的内容作为依赖项。 有人有什么想法吗?

- 编辑 -

这是我的宝石文件:

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'

2 个答案:

答案 0 :(得分:4)

我明白了。我在与主人不同的分支工作,但推动主人。一旦我改变了它就有效了。谢谢大家的帮助!

答案 1 :(得分:3)

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

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

group :production do
        gem 'thin'
    gem 'pg'
end