耙子流产了!未初始化的常量Mysql2

gok*_*sel 9 ruby mysql rubygems ruby-on-rails

Goksel-Eryigits-Mac-mini:blog geryit$ rake db:migrate --trace
(in /Users/geryit/Sites/blog)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
rake aborted!
Client does not support authentication protocol requested by server; consider upgrading MySQL client
/Users/geryit/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/mysql.rb:453:in `read'
/Users/geryit/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/mysql.rb:130:in `real_connect'
/Users/geryit/.rvm/gems/ruby-1.8.7-p330/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:600:in `connect'
/Users/geryit/.rvm/gems/ruby-1.8.7-p330/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:164:in `initialize
.
.
.
Run Code Online (Sandbox Code Playgroud)

database.yml的

development:
  adapter: mysql
  encoding: utf8
  database: test
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock
Run Code Online (Sandbox Code Playgroud)

far*_*noy 11

你定义了吗?

gem 'mysql2'
Run Code Online (Sandbox Code Playgroud)

在Gemfile中?对于Rails 3和Bundler,安装gem是不够的,但要将它包含在Gemfile中.


gok*_*sel 6

他们现在一起工作没有任何问题.问题是Mysql版本和mysql gem标志.我删除了MYSQL 5.5并重新安装了Mysql 5.1.一切都是固定的.谢谢.

我写了一篇关于安装的博客文章,它可能会有所帮助:https://geryit.com/blog/installing-mysql-with-rails-on-mac-os-x-snow-leopard/

  • 这是一个垃圾闷!我不能看到自己避免使用最好的mysql版本(5.5),因为它是一个gem文件. (2认同)