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

Jac*_*ius 39 sqlite deployment ruby-on-rails heroku

我正在尝试将我的第一个应用程序部署到Heroku.我正在使用SQLite作为数据库.据我所知,Heroku不使用SQLite - 它在后端切换到Postgres.

当我正在部署时,我收到以下错误:

/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/runtime.rb:64:in`requirement':没有要加载的文件--sqlite3(LoadError)

Gemfile(这是我假设导致此问题)如下所示:

source 'http://rubygems.org'

gem 'rails', '3.0.0'        
gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Sim*_*tti 53

Heroku不支持SQLite数据库.您需要在生产中使用PostgreSQL,我在本文中也对此进行了解释.

group :production do
  gem "pg"
end

group :development, :test do
  gem "sqlite3", "~> 1.3.0"
end
Run Code Online (Sandbox Code Playgroud)

实际上,建议在开发/测试环境中使用尽可能接近生产的环境.因此,我建议您将所有环境切换到PostgreSQL.

# replace gem "sqlite3" with
gem "pg"
Run Code Online (Sandbox Code Playgroud)

  • 我有一段时间与我搏斗(我也在关注railstutorial.org),无论我做了什么,都没有帮助.当然,经过大量的浪费时间,**然后我意识到我忘了添加并将我新编辑的Gemfile提交给git repo**.希望这可以帮助有人避免遇到同样的问题. (41认同)
  • 谢谢,我不知道为什么愚蠢的教程没有提到这一点 (4认同)