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

时间:2019-02-14 04:43:48

标签: ruby-on-rails ruby ruby-on-rails-3 mysql2 ruby-1.9.3

我正在尝试设置本地开发环境以匹配团队的环境。我暂时无法升级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'至少加载该gem。 Rails和Rake都无法使用该宝石。就像丢失了一些内部文件一样。

1 个答案:

答案 0 :(得分: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