如何在Ruby 1.9.3中使用mysql2 0.3.16? (未初始化的常量Mysql2 :: Client :: SECURE_CONNECTION)

问题描述 投票:1回答:1

我正在尝试设置我的本地开发环境以匹配我的团队。我无法升级Ruby / Rails / mysql2(暂时)。

我知道我的本地MySQL配置是好的(足够吗?)因为我可以创建一个新的Rails项目并运行它就好了。如果我运行rake db:createrails s甚至启动IRB并运行require 'mysql2',我会得到同样的错误。

我用谷歌搜索了这个。我最初在本地使用MariaDB作为我的MySQL实现,所以我认为这可能与mysql2 gem有关。所以我扯掉了MariaDB并最终让MySQL 5.6工作(我们现在锁定的另一个团队版本)。在成功升级到MySQL 5.6之后,我确信100%不是问题。

我希望如果我有错误的密码让它以某种方式抱怨配置,但它总是一样的。

uninitialized constant Mysql2::Client::SECURE_CONNECTION  

Ruby(RVM):ruby 1.9.3p551(2014-11-13修订版48407)[x86_64-linux] Mysql2:0.3.16

还有其他一些与版本相关的斗争,但没有这么强。我遇到的唯一没有尝试的是在本地构建mysql2 gem。

我希望require 'mysql2'能够至少加载宝石。无论是Rails还是Rake都不会与宝石一起工作。这几乎就像是缺少一些内部文件。

ruby-on-rails ruby ruby-on-rails-3 mysql2 ruby-1.9.3
1个回答
0
投票

关于官方gem中关于此错误的讨论,您应该将版本更新为

gem 'mysql2', '0.3.16'

gem 'mysql2', '0.3.17'

如果在将版本更新到0.3.17后仍然遇到错误,我认为你应该更新到0.2.24

https://github.com/brianmario/mysql2/issues/603

© www.soinside.com 2019 - 2024. All rights reserved.