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

启动Ruby on Rails新建项目出现StringIO类父类不匹配TypeError报错求助

问题原因

该superclass mismatch for class StringIO (TypeError)报错是Ruby 2.7.0版本与bootsnap 1.9.1版本的已知兼容冲突导致,加载psych库时StringIO类被重复定义、父类声明不一致触发类型错误。

解决方案

按优先级尝试以下操作:

方案1:清理bootsnap缓存

  • 进入你的Rails项目根目录,执行命令删除本地缓存:rm -rf tmp/cache/bootsnap*
  • 重启Rails服务验证是否恢复

方案2:升级bootsnap到兼容版本

  • 打开项目根目录的Gemfile,修改bootsnap的版本限定:
    gem 'bootsnap', '>= 1.10.0', require: false
    
  • 执行命令更新依赖:bundle update bootsnap
  • 重启Rails服务验证

方案3:临时禁用bootsnap(快速验证)

  • 打开项目config/boot.rb文件,注释掉以下代码行:
    # require 'bootsnap/setup'
    
  • 重启服务即可正常启动,后续升级Ruby版本后可恢复bootsnap启用

补充建议

尽量不要使用操作系统默认安装的Ruby环境,推荐使用rbenv或RVM管理独立的Ruby运行环境,可避免系统级依赖冲突、权限不足等常见问题。

内容的提问来源于stack exchange,提问作者Иван Гречка

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:15:06