在运行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 文件。