使用SQLite3将Rails推送到Heroku失败

Joh*_*nes 19 sqlite deployment ruby-on-rails heroku

当我尝试将我的Rails 3应用程序部署到Heroku并且在gems文件中定义了sqlite3时,我遇到了Heroku部署问题中描述的相同场景.

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

任何线索为什么会这样?在ruby-forum中定义的解决方案有效,我只是想知道为什么.

Joh*_*all 33

确保在生产环境中的Gemfile中不包含sqlite:

这是正确的:

source :gemcutter
gem 'rails'

group :development, :test do
  gem 'sqlite3-ruby', :require => 'sqlite3'
end
Run Code Online (Sandbox Code Playgroud)

这是错的:

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


Jay*_*dse 11

SQLite需要永久可写文件系统.(即您的程序最终需要访问POSIX fopen()和fwrite()API调用特定文件).Heroku不提供永久可写文件系统.因此,SQLite 3将无法正常工作.


val*_*zka 5

由于他们的arhitecture,Heroku只允许postgres,所以没有安装sqlite gem.