在创建rails项目时,我得到了一个错误。在命令中,我通过输入rails new club
,然后输入bundle
创建了一个新项目。现在,当我试图通过输入和输入rails g resource Club name
来创建我的模型和控制器时,我得到了一个错误:superclass mismatch for class StringIO (TypeError)
。
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
的类,所以我不知道它是从哪里来的。
发布于 2022-01-06 01:05:52
尝试恢复到早期版本的StringIO
gem install stringio -v 0.1.4
gem uninstall stringio # remove 3.0.0 and 3.0.1
发布于 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
。
发布于 2021-11-19 19:20:52
在更新了我的宝石之后,我开始得到这个错误。我试着卸载ruby和我所有的gems,更新rvm,但对我来说,解决方案似乎是更新rubygems。
gem update --system
https://stackoverflow.com/questions/70026904
复制相似问题