6

ノートブック (Debian Wheezy 64 ビット) に ROR をインストールしようとしています。

最初に、最初の回答でこの問題を解決しました(ここにリンクの説明を入力してください)。

これで Rails サーバーが起動しますが、ブラウザーで localhost:3000 をサーフィンすると、次のエラーが表示されます。

「active_record/connection_adapters/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

私の宝石のバージョン:

ruby 2.0.0
rails 4.0.0
sqlite 1.3.7
4

2 に答える 2

12

rake db:create_migration を実行しているときに、今日 Sinatra で遊んでいるときにこのエラーに遭遇しました。私のエラーは、「sqlite 3 :」であるはずの app.rb で「sqlite:」データベース タイプを誤って指定していました。例:

違う:

set :database, 'sqlite:name.db'

正しい:

set :database, 'sqlite3:name.db'
于 2014-04-23T16:19:39.567 に答える
1

今日はこれで苦労しました。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)

私のdatabase.ymlファイルが有効で、「sqlite3」が含まれているにもかかわらず、sqlite3_adapterではなくsqlite_adapterをロードしようとしていることに注意してください。database.yml に対してあらゆる種類のことを行った結果、何を試しても (postgresql など)、Rails がまだ sqlite をロードしようとしていることに気付きました。私は最終的に、database.yml をオーバーライドしているものを探し回って見つけました。

$ env | grep sqlite

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

これは、django をいじるために設定されたもので、Rails 環境を台無しにしていました。ああ。

于 2013-09-15T23:43:08.040 に答える