我无法将我的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'
答案 0 :(得分:4)
我明白了。我在与主人不同的分支工作,但推动主人。一旦我改变了它就有效了。谢谢大家的帮助!
答案 1 :(得分:3)
试试这个,在开发和测试中使用sqlite3,但是在生产中使用
group :development, :test do
gem 'sqlite3'
end
group :production do
gem 'thin'
gem 'pg'
end