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

Rails执行rails g resource命令报StringIO超类不匹配TypeError错误

这个报错是bootsnap 1.9.1版本与Ruby 2.6.8的兼容性问题导致的:该版本bootsnap的加载路径缓存逻辑会重复定义Ruby标准库的StringIO类,触发超类不匹配的类型错误,和你编写的业务代码无关。

可通过以下任意方案解决:

  • 升级bootsnap到兼容版本
    修改项目Gemfile中bootsnap的版本约束为gem 'bootsnap', '>= 1.10.0',随后执行bundle update bootsnap更新gem,再执行rm -rf tmp/cache清除项目本地缓存,重新运行生成命令即可。
  • 临时禁用bootsnap
    打开项目config/boot.rb文件,注释掉require 'bootsnap/setup'这一行,即可绕开兼容问题直接执行生成命令,后续需要使用bootsnap时升级版本后取消注释即可。
  • 排查冗余的stringio gem
    如果上述方案都不生效,执行gem list stringio检查是否额外安装了独立于Ruby标准库的stringio gem,如果存在非系统自带版本,执行gem uninstall stringio选择卸载对应版本即可解决冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:06:05