Ruby on rails 新安装的OS X Ruby on Rails无法连接到数据库
我将先介绍一下我的规格:Ruby on rails 新安装的OS X Ruby on Rails无法连接到数据库,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我将先介绍一下我的规格: RVM 1.12.1 轨道3.2.3 Ruby 1.9.3p125(2012-02-16修订版34643)[x86_64-darwin12.0.0] RubyGem 1.8.21 OS X 10.8山狮 Kenneth Reitz针对OSX 10.7+的GCC安装程序,版本2(包括X11头文件、错误修复) 我的档案如下: source 'https://rubygems.org' gem 'rails', '3.2.3' # Bundle edge Rails in
- RVM 1.12.1
- 轨道3.2.3
- Ruby 1.9.3p125(2012-02-16修订版34643)[x86_64-darwin12.0.0]
- RubyGem 1.8.21
- OS X 10.8山狮
- Kenneth Reitz针对OSX 10.7+的GCC安装程序,版本2(包括X11头文件、错误修复)
source 'https://rubygems.org'
gem 'rails', '3.2.3'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platform => :ruby
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
我的database.yml是:
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
当我启动服务器并转到默认主页并单击“查看环境”按钮时,我得到一个“ActiveRecord::ConnectionNotesAblished”错误
当我检查控制台时,我看到:
/Users/username/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.1.3/lib/bundler/rubygems_integration.rb:147:in `block in replace_gem': Please install the mysql adapter: `gem install activerecord-mysql-adapter` (mysql is not part of the bundle. Add it to Gemfile.) (LoadError)
from /Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activerecord-3.2.3/lib/active_record/connection_adapters/mysql_adapter.rb:5:in `<top (required)>'
from /Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
from /Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `block in require'
from /Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:in `load_dependency'
from /Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
/Users/username/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.1.3/lib/bundler/rubygems_integration.rb:147:in`block in replace_gem':请安装mysql适配器:`gem install activerecord mysql adapter`(mysql不是捆绑包的一部分。将其添加到Gemfile.)(LoadError)
来自/Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activerecord-3.2.3/lib/active\u record/connection\u adapters/mysql\u adapter.rb:5:in`'
来自/Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activesupport-3.2.3/lib/active\u-support/dependencies.rb:251:in'require'
来自/Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activesupport-3.2.3/lib/active\u support/dependencies.rb:251:in'block in require'
来自/Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activesupport-3.2.3/lib/active\u-support/dependencies.rb:236:in'load\u-dependency'
来自/Users/username/.rvm/gems/ruby-1.9.3-p125@rails3tutorial2ndEd/gems/activesupport-3.2.3/lib/active\u-support/dependencies.rb:251:in'require'
尽管我使用的是SQLite,而且在任何地方都没有对MySQL的引用。这可能是使用10.8的副作用吗?我被难住了 几个月前,我正在使用java和Play进行一个项目!框架,我们使用一个名为DATABASE_URL的环境变量在开发和生产中轻松管理数据库配置。在我的例子中,变量被设置为
mysql://root@localhost:3306/database\u name
事实证明,rails3.2
也尝试从名为database\uurl的环境变量获取数据库配置
以下是rails 3.2分支上的代码:
rails 3.1分支上的相同方法:
所以我刚刚删除了环境变量,一切又恢复正常。你确定你的应用程序中的任何地方都没有对
mysql
的引用吗,即使是在鬼鬼祟祟的地方?那里的一切看起来都很好。不,不幸的是没有。这是一个全新的、开箱即用的Rails安装。您如何启动Rails服务器?它可能试图在生产模式或其他模式下启动服务器。尝试rails s-e开发(或者查看您的rails_ENV环境变量i),rails s和rails s-e开发都会产生与上述相同的结果。我可以确认,这正是困扰我的问题。我很惊讶我们都有这样一个具体的问题。伟大的发现!