【问题标题】:rake db:migrate giving error for mysql2rake db:migrate 给 mysql2 错误
【发布时间】:2011-10-07 22:17:16
【问题描述】:

在运行 rake db:migrate 时出现以下错误:

rake db:迁移

(在 /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 `require'

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

所以我去了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)
动作包 (3.0.9)
活动模型 (3.0.9)
活动记录 (3.0.9)
活动资​​源 (3.0.9)
主动支持 (3.0.9)
阿雷尔 (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)
railties (3.0.9)
耙子 (0.8.7)
rdoc (3.8)
红车 (0.11)
rubyzip (0.9.4)
sqlite3 (1.3.3)
雷神 (0.14.6)
树顶 (1.4.9)
tzinfo (0.3.29)

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

我尝试通过为 mysql_config 提供路径名进行安装,但没有成功。 任何帮助表示赞赏。

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

【问题讨论】:

    标签: ruby-on-rails-3 rubygems


    【解决方案1】:

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

    确保在您的 Gemfile 中没有指定版本:

    gem 'mysql2'
    

    然后你必须运行:

    bundle update
    

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

    gem install mysql2
    

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

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

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


    我以前在使用 mysql2 时遇到的另一个问题是我没有 mysql-devel(在 CentOS 中)。也许你缺少 MySQL 的开发者库。

    【讨论】:

    • 我降级到 0.2.6,因为我在某处读到 0.3.6 是用于 rails 3.1x 及更高版本的.. 在进行捆绑更新时,我收到 mysql2 gem 的错误.. 我将发布的日志。 .
    • gem 适用于 rails 3.0x 和 3.1x。我在每个项目中使用它都没有问题。
    【解决方案2】:

    这在我身上发生了好几次,这通常是我的操作顺序:

    gem install mysql

    gem install mysql2

    然后在我的 gem 文件中:

    gem 'mysql2',              '~> 0.2.7'
    

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

    【讨论】:

      【解决方案3】:

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

      在你的 Gemfile 中使用它

      gem 'mysql2',              '~> 0.2.7'
      

      【讨论】:

      • 我已经拥有了 gem 'mysql2', '0.2.6' 。我也添加了'~>',但它不起作用。在 Gemfile 之后,我需要在运行 rake 之前做一些其他任务吗?
      猜你喜欢
      • 1970-01-01
      • 2018-02-05
      • 2018-10-06
      • 1970-01-01
      • 2017-03-01
      • 2014-07-16
      • 2013-09-03
      • 1970-01-01
      • 2014-07-31
      相关资源
      最近更新 更多