在运行srb init并srb tc传入一个新的 Rails 项目后,我安装了 RSpec,srb tc现在有很多抱怨,包括:
spec/spec_helper.rb:16: Unable to resolve constant RSpec https://srb.help/5002
16 |RSpec.configure do |config|
如何解决此错误?
在运行srb init并srb tc传入一个新的 Rails 项目后,我安装了 RSpec,srb tc现在有很多抱怨,包括:
spec/spec_helper.rb:16: Unable to resolve constant RSpec https://srb.help/5002
16 |RSpec.configure do |config|
如何解决此错误?
这是因为 Sorbet默认不知道gem 中定义的任何内容。它需要为 gem 生成一个 RBI 文件以了解 gem 的常量和 API。
安装新 gem 时,您必须更新 RBI 文件,这很容易
srb rbi update
注意:如果此错误与No such file or directory @ rb_sysopen - update,请在本地 gem 中更改此行以使用STDIN.gets而不是Kernel.gets. 至少有几个 PR解决了截至本答案未合并的问题。
我怀疑srb init没有正确完成。我定义了 RSpec 模块sorbet/gems/rspec-core.rbi和其他一些 rspec gems rbi。
有sorbet/gems文件夹吗?对你有用srb rbi gems吗?如果他们不这样做,请查看 Slack 频道并在那里询问。
编辑:问题出在初始srb init. 对于那些,您应该运行srb rbi gems为添加的 gem 生成一个 RBI 文件。