【问题标题】:Could not load 'active_record/connection_adapters/sqlite3_adapter'无法加载“active_record/connection_adapter/sqlite3_adapter”
【发布时间】:2013-08-19 03:14:05
【问题描述】:

我正在尝试在我的笔记本电脑上安装 ROR(Debian Wheezy 64 位)。

首先我有这个问题 (enter link description here ) 由第一个答案解决。

现在 rails 服务器启动了,但是在浏览器上浏览 localhost:3000 时出现以下错误:

无法加载“active_record/connection_adapter/sqlite3_adapter”。确保 config/database.yml 中的适配器有效。如果您使用“mysql”、“mysql2”、“postgresql”或“sqlite3”以外的适配器,请将必要的适配器 gem 添加到 Gemfile。

我已经安装了ruby 2.0.0 编译源代码,没有错误或错误。 然后我安装了一些需要的库(sqlite3、libsqlite3-dev)...

这是我的 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'

在我的 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

我的 gem 版本:

ruby 2.0.0
rails 4.0.0
sqlite 1.3.7

【问题讨论】:

  • 只是为了检查您是否正确安装了捆绑软件?您按照哪些步骤安装捆绑包?只需尝试使用 gem install sqlite3
  • 是的,我使用 apt-get install sqlite3 安装了 sqlite3,而对于 gem,我使用 gem install sqlite3...

标签: ruby-on-rails sqlite


【解决方案1】:

今天在 Sinatra 中运行 rake db:create_migration 时遇到了这个错误。我的错误是在 app.rb 中错误地指定了一个“sqlite:”数据库类型,而它应该是“sqlite 3 :”。示例:

错误:

set :database, 'sqlite:name.db'

正确:

set :database, 'sqlite3:name.db'

【讨论】:

  • 刚刚遇到同样的问题,这正是我想要的。喜欢它,当它发生这样的时候,谢谢你的发帖!
【解决方案2】:

我今天刚刚经历了这一切。尝试运行 rake db:create 或 rake db:migrate 或运行服务器时的错误略有不同:

/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)

请注意,它正在尝试加载 sqlite_adapter,而不是 sqlite3_adapter,尽管我的 database.yml 文件是有效的并且其中确实包含“sqlite3”。我对我的 database.yml 做了各种各样的事情,这让我意识到无论我尝试什么(例如 postgresql)rails 仍在尝试加载 sqlite。我终于四处寻找覆盖 database.yml 的东西并找到了它:

$ env | grep sqlite

DATABASE_URL=sqlite:////Users/lisa/dev/mango/devdb.sqlite

这是为了玩 django 而设置的,并且搞砸了我的 rails 环境。哎哟。

【讨论】:

    猜你喜欢
    • 2016-12-14
    • 2014-11-17
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 2013-02-23
    相关资源
    最近更新 更多