Gem :: LoadError:为数据库适配器指定'sqlite3',但未加载gem

18 ruby sqlite ruby-on-rails heroku

我正在尝试将我的应用程序推送到heroku但我收到此消息.

Gem::LoadError: Specified 'sqlite3' for database adaptor, but the gem is not loaded.
Run Code Online (Sandbox Code Playgroud)

但是我没有.我的database.yml文件中没有sqlite3

development:
  adapter: postgresql
  encoding: unicode
  database: blog_development
  pool: 5
  timeout: 5000
  host:  localhost

test:
  adapter: postgresql
  database: blog_test
  pool: 5
  timeout: 5000

production:
  adapter: postgresql
  database: blog_production
  pool: 5
  timeout: 5000
Run Code Online (Sandbox Code Playgroud)

我的适配器名称是psotgresql.我甚至自己打开了文件

cat database.yml
Run Code Online (Sandbox Code Playgroud)

我搜索了文件,但找不到postgresql.这是我的宝石文件

ruby '2.1.0'
gem 'rails', '4.1.1'

group :development, :test do
  gem 'pg', '0.17.1'
  gem 'rspec-rails', '3.0.1'
end

group :production do
  gem 'pg', '0.17.1'
  gem 'rails_12factor'
end

group :test do
  gem 'selenium-webdriver', '2.35.1'
  gem 'capybara', '2.1.0'
end

gem 'sass-rails', '~> 4.0.2'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'sprockets-rails', '~> 2.1.3'
gem 'bootstrap-sass', '3.1.1.1'

gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.1.1'

group :doc do

  gem 'sdoc', require: false
end

gem 'bcrypt', '~> 3.1.7'
Run Code Online (Sandbox Code Playgroud)

我在这里的生产环境中找到了pg.我已经多次运行bundle install,bundle update,git add,git commit和git push heroku master,我仍然收到此消息.

我不明白这一点.我没有为我的数据库适配器指定sqlite3.

我不知所措.

rub*_*fee 31

我必须将我的sqlite3版本指定为1.3.13:

gem 'sqlite3', '~> 1.3.13'

然后跑bundle update.


Arm*_*ega 8

我也遇到过这个问题。我发现安装的sqlite3是1.4.2版本。为了解决它,我添加了以下代码:

宝石'sqlite3','~> 1.3.6','< 1.4'

下面是我的设置:

$ 导轨 -v

Rails 4.2.3
Run Code Online (Sandbox Code Playgroud)

$ 宝石环境

RubyGems Environment:
– RUBYGEMS VERSION: 2.5.1
– RUBY VERSION: 2.3.0 (2015-12-25 patchlevel 0) [x86_64-linux]
– INSTALLATION DIRECTORY: /home/armano/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0
– USER INSTALLATION DIRECTORY: /home/armano/.gem/ruby/2.3.0
– RUBY EXECUTABLE: /home/armano/.rbenv/versions/2.3.0/bin/ruby
– EXECUTABLE DIRECTORY: /home/armano/.rbenv/versions/2.3.0/bin
– SPEC CACHE DIRECTORY: /home/armano/.gem/specs
– SYSTEM CONFIGURATION DIRECTORY: /home/armano/.rbenv/versions/2.3.0/etc
Run Code Online (Sandbox Code Playgroud)


小智 5

听起来你可能有:

  1. 忘记运行bundle updatebundle install更新您的Gemfile.lock文件,或

  2. 在推送到 Heroku 之前忘记将您的GemfileGemfile.lock更改提交到 Git git commit

如果您的问题是第二种情况,那么这个问题是重复的,我只需要在某处找到规范的问题...