Pap*_*roo 16 ruby ruby-on-rails
我在创建 ruby on 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)
Run Code Online (Sandbox Code Playgroud)
我什至没有名为 的类StringIO
,所以我不确定它来自哪里。
小智 19
尝试恢复到 StringIO 的早期版本
gem install stringio -v 0.1.4
gem uninstall stringio # remove 3.0.0 and 3.0.1
Run Code Online (Sandbox Code Playgroud)
正如其他人在 @jason-lee 回答中所说,对于很多人来说,只需卸载现有的stringio
然后再次运行即可解决此问题bundle install
。
gem uninstall stringio
bundle
Run Code Online (Sandbox Code Playgroud)
上述答案都不适合我。对我来说发生的事情是我添加gem 'rubocop', '~> 0.67.2', require: false
并Gemfile
运行了bundle install
。
这个版本rubocop
似乎已psych
作为依赖项安装,然后psych
依赖于stringio
我,如果我错了,请纠正我,这一定与stringio
正在使用的任何版本发生冲突bootsnap
。
不管怎样,为了解决这个问题,我只是删除了rubocop
我添加的行Gemfile
并添加了gem 'rubocop', require: false
(安装了最新的 rubocop 版本),然后bundle install
再次运行。
小智 3
更新宝石后我开始收到此错误。我尝试卸载 ruby 和所有 gem,更新 rvm,但对我来说,解决方案似乎是更新 rubygems。
gem update --system
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8944 次 |
最近记录: |