将带有 SQLite3 的 Rails 推送到 Heroku 失败

2021-12-02 00:00:00 heroku deployment ruby-on-rails sqlite

当我尝试执行以下操作时,我遇到了与 Heroku 部署问题 中所述相同的情况将我的 Rails 3 应用程序部署到 Heroku,并且在 gems 文件中定义了 sqlite3.

I experience the same scenario as described in Heroku deployment issue when I try to deploy my Rails 3 app to Heroku and sqlite3 is defined in the gems file.

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

/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/runtime.rb:64:in `require': no such file to load -- sqlite3 (LoadError)

知道这是为什么吗?ruby-forum 中定义的解决方案有效,我只是想知道为什么.

Any clue why this is? The solution defined in the ruby-forum works, I just wondered why.

推荐答案

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

Make sure you don't include sqlite in your Gemfile in production environments:

这是对的:

source :gemcutter
gem 'rails'

group :development, :test do
  gem 'sqlite3-ruby', :require => 'sqlite3'
end

这是错误的:

source :gemcutter
gem 'rails'        
gem 'sqlite3-ruby', :require => 'sqlite3'

相关文章