Could not load 'active_record/connection_adapters/sqlite3_adapter'

匿名 (未验证) 提交于 2019-12-03 02:14:01

问题:

I'm trying to install ROR on my notebook (Debian Wheezy 64 bit).

On first I had this issue (enter link description here ) solved by the first answer.

Now the rails server starts, but surfing on the browser at localhost:3000 I get the following error:

Could not load 'active_record/connection_adapters/sqlite3_adapter'. Make sure that the adapter in config/database.yml is valid. If you use an adapter other than 'mysql', 'mysql2', 'postgresql' or 'sqlite3' add the necessary adapter gem to the Gemfile.

I've installed ruby 2.0.0 compiling the source code, no errors or mistakes. Then I've installed some needed libraries (sqlite3, libsqlite3-dev )...

Here is my GemFile:

'https://rubygems.org'  -# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '4.0.0'  -# Use sqlite3 as the database for Active Record gem 'sqlite3'  -# Use SCSS for stylesheets gem 'sass-rails', '~> 4.0.0'  -# Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0'  -# Use CoffeeScript for .js.coffee assets and views gem 'coffee-rails', '~> 4.0.0'  -# See https://github.com/sstephenson/execjs#readme for more supported runtimes -# gem 'therubyracer', platforms: :ruby  -# Use jquery as the JavaScript library gem 'jquery-rails'  -# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks gem 'turbolinks'  -# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 1.2'  group :doc do   -# bundle exec rake doc:rails generates the API under doc/api.   gem 'sdoc', require: false end  -# Use ActiveModel has_secure_password -# gem 'bcrypt-ruby', '~> 3.0.0'  -# Use unicorn as the app server -# gem 'unicorn'  -# Use Capistrano for deployment -# gem 'capistrano', group: :development  -# Use debugger -# gem 'debugger', group: [:development, :test]  gem 'execjs' gem 'therubyracer' 

And in my database.yml:

-# SQLite version 3.x -#   gem install sqlite3 -# -#   Ensure the SQLite 3 gem is defined in your Gemfile -#   gem 'sqlite3' development:   adapter: sqlite3   database: db/development.sqlite3   pool: 5   timeout: 5000 

My gem version:

ruby 2.0.0 rails 4.0.0 sqlite 1.3.7 

回答1:

Came across this error playing around in Sinatra today when running rake db:create_migration. My error was erroneously specifying a "sqlite:" database type in app.rb when it should have been "sqlite 3 :". Example:

wrong:

set :database, 'sqlite:name.db' 

correct:

set :database, 'sqlite3:name.db' 


回答2:

I've just struggled through this today. My error when trying to run rake db:create or rake db:migrate or running the server was slightly different:

/Users/lisa/.rvm/gems/ruby-1.9.3-p448/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require': Could not load 'active_record/connection_adapters/sqlite_adapter'. Make sure that the adapter in config/database.yml is valid. If you use an adapter other than 'mysql', 'mysql2', 'postgresql' or 'sqlite3' add the necessary adapter gem to the Gemfile. (LoadError) 

Note that it's trying to load sqlite_adapter, not sqlite3_adapter, despite the fact that my database.yml file is valid and does have 'sqlite3' in it. I did all kinds of things to my database.yml which caused me to realize that no matter what I tried (e.g. postgresql) rails was still trying to load sqlite. I finally looked around for something that was overriding database.yml and found it:

$ env | grep sqlite  DATABASE_URL=sqlite:////Users/lisa/dev/mango/devdb.sqlite 

This was set for playing around with django and was screwing up my rails environment. Ouch.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!