Heroku的推失败,出现错误 “而安装的sqlite3 - 红宝石(1.2.5)时出现错误”

问题描述:

当我做Heroku的推失败,出现错误 “而安装的sqlite3 - 红宝石(1.2.5)时出现错误”

git push heroku master 

我得到以下信息:

 An error occurred while installing sqlite3-ruby (1.2.5), and Bundler cannot continue. 
     Make sure that `gem install sqlite3-ruby -v '1.2.5'` succeeds before bundling. 
! 
!  Failed to install gems via Bundler. 
! 
!  Heroku push rejected, failed to compile Ruby/rails app 

我有libsqlite3 -dev,libsqlite3-0,SQLITE3所有已安装的,当我运行:

gem install sqlite3-ruby -v '1.2.5' 

的错误信息提示,它成功地安装:

Successfully installed sqlite3-ruby-1.2.5 
1 gem installed 
Installing ri documentation for sqlite3-ruby-1.2.5... 
Installing RDoc documentation for sqlite3-ruby-1.2.5... 

我不确定可能是什么问题。

我的Gemfile是:

source 'http://rubygems.org' 
gem 'rails', '3.0.1' 
gem 'sqlite3-ruby', '1.2.5',:require => 'sqlite3' 

我想知道是什么问题,我怎么能解决呢?

Heroku不支持sqlite3。

所以,你需要改变你的Gemfile是:

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

group :production do 
    gem 'pg' 
end 

,并再次运行bundle install

+2

记住推到Heroku的前提交。 – countunique 2013-06-19 00:50:29

+0

确保从主人推送。刚碰到我...... – Alex 2016-06-29 07:25:23

很确定你必须使用一个Postgres数据库与Heroku

你不能在Heroku上使用SQLite。你需要使用postgres,根据这篇文章:https://devcenter.heroku.com/articles/database

我建议也安装postgres在本地进行测试和使用它;如果您使用的是OS X,请使用Homebrew进行安装,否则请尝试官方postgres站点上的其中一个二进制文件。