Mysql2::Client::LONG_PASSWORD(名称错误)
Mysql2::Client::LONG_PASSWORD (NameError)
我正在 Docker.
的 rails 应用程序中尝试将我的 ruby 版本从 2.4.5 升级到 2.4.9
重建我的容器后,它因错误而停止:
uninitialized constant Mysql2::Client::LONG_PASSWORD (NameError)
我的 mysql2 gem 版本被锁定在:
gem 'mysql2', '0.3.21'
我尝试将 mysql2
gem 升级到版本 0.4.0,但最终出现了另一个错误。
有什么关于升级东西以使其工作的顺序的建议吗?
我将 mysql2
升级到版本“0.4.10”
似乎成功了
mysql gem 有一些更新,但您的应用程序不支持
在您的 gemset 上搜索此文件
gems/mysql2-0.3.21/lib/mysql2/client.rb
第12行
:connect_flags => REMEMBER_OPTIONS | LONG_PASSWORD | LONG_FLAG | TRANSACTIONS | PROTOCOL_41 | SECURE_CONNECTION,
这样改
:connect_flags => REMEMBER_OPTIONS | LONG_FLAG | TRANSACTIONS | PROTOCOL_41 | SECURE_CONNECTION,
运行 迁移
最佳做法是更新您的代码,但通过此更改您可以继续工作
在 docker 容器中有同样的问题:
rails 5.1.7
ruby v2.5.9
mysql2 0.4.6 (using mysql v5.7.18)
解决方案:
Upgraded gem mysql2 to 0.5.3
有趣的是,在 mac 上与本地 ruby 一切正常。
我正在 Docker.
的 rails 应用程序中尝试将我的 ruby 版本从 2.4.5 升级到 2.4.9重建我的容器后,它因错误而停止:
uninitialized constant Mysql2::Client::LONG_PASSWORD (NameError)
我的 mysql2 gem 版本被锁定在:
gem 'mysql2', '0.3.21'
我尝试将 mysql2
gem 升级到版本 0.4.0,但最终出现了另一个错误。
有什么关于升级东西以使其工作的顺序的建议吗?
我将 mysql2
升级到版本“0.4.10”
似乎成功了
mysql gem 有一些更新,但您的应用程序不支持 在您的 gemset 上搜索此文件
gems/mysql2-0.3.21/lib/mysql2/client.rb
第12行
:connect_flags => REMEMBER_OPTIONS | LONG_PASSWORD | LONG_FLAG | TRANSACTIONS | PROTOCOL_41 | SECURE_CONNECTION,
这样改
:connect_flags => REMEMBER_OPTIONS | LONG_FLAG | TRANSACTIONS | PROTOCOL_41 | SECURE_CONNECTION,
运行 迁移
最佳做法是更新您的代码,但通过此更改您可以继续工作
在 docker 容器中有同样的问题:
rails 5.1.7
ruby v2.5.9
mysql2 0.4.6 (using mysql v5.7.18)
解决方案:
Upgraded gem mysql2 to 0.5.3
有趣的是,在 mac 上与本地 ruby 一切正常。