You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby on Rails报错:NameError: uninitialized constant Mysql2::Client::REMEMBER_OPTIONS

解决Rails 5.0.0 + mysql2 出现的 NameError: uninitialized constant Mysql2::Client::REMEMBER_OPTIONS 错误

嘿,我之前在搭建老版本Rails项目的时候也碰到过一模一样的问题!这个报错本质是mysql2 gem版本与Rails 5.0.0不兼容导致的——较新的mysql2 gem移除了REMEMBER_OPTIONS这个常量,但Rails 5.0.x的代码里还在调用它,所以就触发了这个错误。

下面是具体的修复步骤:

  • 先卸载当前安装的mysql2 gem:

    gem uninstall mysql2
    

    如果系统里安装了多个mysql2版本,选择卸载最新的那个即可。

  • 打开项目根目录下的Gemfile,修改mysql2的版本约束,指定一个和Rails 5.0.0兼容的版本:

    gem 'mysql2', '~> 0.4.10'
    

    (这个版本经过验证,和Rails 5.0.x系列配合完全没问题)

  • 执行bundle命令重新安装适配的gem:

    bundle install
    
  • 最后重新尝试数据库相关操作,不管是用Rails命令自动创建:

    rails db:create
    

    还是手动在MySQL命令行执行:

    CREATE DATABASE kudaweb_development;
    CREATE DATABASE kudaweb_test;
    

    之后启动Rails服务器,这个错误应该就消失了。

另外提醒一下:手动创建数据库时,要确保数据库名称和config/database.yml里配置的名称完全一致,不然还可能出现连接失败的问题哦~

内容的提问来源于stack exchange,提问作者Kuda Zata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:47:41