首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails错误:类StringIO (TypeError)的超类不匹配

Rails错误:类StringIO (TypeError)的超类不匹配
EN

Stack Overflow用户
提问于 2021-11-18 21:23:19
回答 7查看 5.2K关注 0票数 10

在创建rails项目时,我得到了一个错误。在命令中,我通过输入rails new club,然后输入bundle创建了一个新项目。现在,当我试图通过输入和输入rails g resource Club name来创建我的模型和控制器时,我得到了一个错误:superclass mismatch for class StringIO (TypeError)

代码语言:javascript
运行
复制
gems/bootsnap-1.9.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:
in `require': superclass mismatch for class StringIO (TypeError)

我甚至没有一个名为StringIO的类,所以我不知道它是从哪里来的。

  • ruby版本: 2.6.8
  • rails: 6.1.4.1
EN

回答 7

Stack Overflow用户

发布于 2022-01-06 01:05:52

尝试恢复到早期版本的StringIO

代码语言:javascript
运行
复制
gem install stringio -v 0.1.4

gem uninstall stringio # remove 3.0.0 and 3.0.1
票数 13
EN

Stack Overflow用户

发布于 2022-01-10 00:39:39

以上的答案对我都没有用。我所发生的是,我将gem 'rubocop', '~> 0.67.2', require: false添加到Gemfile中,并运行bundle install

这个版本的rubocop似乎已经将psych作为依赖项安装,而psych则依赖于stringio,如果我错了,请告诉我,这肯定与bootsnap使用的stringio版本相冲突。

无论如何,为了解决这个问题,我只是删除了添加到Gemfile中的Gemfile行,并添加了gem 'rubocop', require: false (安装了最新的rubocop版本),然后再次运行bundle install

票数 5
EN

Stack Overflow用户

发布于 2021-11-19 19:20:52

在更新了我的宝石之后,我开始得到这个错误。我试着卸载ruby和我所有的gems,更新rvm,但对我来说,解决方案似乎是更新rubygems。

代码语言:javascript
运行
复制
gem update --system
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70026904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档