rake db:migrate为mysql2提供错误

时间:2011-07-18 18:27:31

标签: ruby-on-rails-3 rubygems

在运行rake db:migrate时遇到以下错误:

  

rake db:migrate

     

(在/ Users / hrastogi / ruby​​_project / contactlist中)
  耙子流产!
  没有这样的文件加载 - mysql2 / mysql2

跟踪显示

  

/Users/hrastogi/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2.rb:7:in'requiret'

     

/Users/hrastogi/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.6/lib/mysql2.rb:7:in`< top(required)>'

所以我去了mysql2.rb,我看到错误在线

require 'mysql2/mysql2

这意味着mysql2缺少一些模块。

我安装mysql2的方式是

  

sudo gem install mysql2 --version =“0.2.6” - --srcdir = / usr / local / mysql / include

我的宝石列表显示

  

摘要(1.0.0)
  actionmailer(3.0.9)
  actionpack(3.0.9)
  activemodel(3.0.9)
  activerecord(3.0.9)
  activeresource(3.0.9)
  activesupport(3.0.9)
  arel(2.0.10)
  建造者(2.1.2)
  捆绑(1.0.15)
  erubis(2.6.6)
  i18n(0.5.0)
  邮件(2.2.19)
  哑剧型(1.16)
  mysql2(0.2.6)
  多语言(0.3.1)
  机架(1.2.3)
  机架式(0.6.14)
  机架测试(0.5.7)
  铁轨(3.0.9)
  铁路(3.0.9)
  耙(0.8.7)
  rdoc(3.8)
  redcar(0.11)
  rubyzip(0.9.4)
  sqlite3(1.3.3)
  托尔(0.14.6)
  树梢(1.4.9)
  tzinfo(0.3.29)

我在这里看到类似的帖子,但没有得到很多帮助...... mysql版本是5.1.57 for 64bit amd mac os是10.6.6

我尝试安装时给mysql_config提供路径名但是没有用。 任何帮助表示感谢。

error while updating mysql2 gem

我需要有libmysqlclient.16.dylib或任何其他客户端库吗?

3 个答案:

答案 0 :(得分:2)

名为'mysql2'的宝石。约定 require'mysql2 / mysql2 是关于组织文件自动加载的子目录。

在你的Gemfile中使用它

gem 'mysql2',              '~> 0.2.7'

答案 1 :(得分:0)

您是否尝试过更新mysql2 gem?您使用的是旧版本,最新版本为0.3.6。

在Gemfile中,请确保未指定版本:

gem 'mysql2'

然后你必须跑:

bundle update

如果您使用RVM安装gem,则应该只做:

gem install mysql2

如果你想用选项和sudo来做,你必须这样做:

rvmsudo gem install -- --srcdir=/usr/local/mysql/include

如果您没有RVM,我建议您开始使用它。


我以前使用mysql2的其他问题是我没有mysql-devel(在CentOS中)。也许你错过了MySQL的开发者库。

答案 2 :(得分:0)

这已经多次发生在我身上,这通常是我的操作顺序:

gem install mysql

gem install mysql2

然后在我的宝石文件中:

gem 'mysql2',              '~> 0.2.7'

然后我跑bundle install。这对我来说已经成功了。 :)