运行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|
如何解决此错误?
答案 0 :(得分:0)
这是因为默认情况下,Sorbet不了解anything defined in a gem。它需要为gem生成一个RBI文件,以了解gem的常量和API。
在安装新的gem时,您必须更新RBI文件,这很容易
srb rbi update
注意:如果No such file or directory @ rb_sysopen - update
出现此错误,请在本地gem中将this line更改为使用STDIN.gets
而不是Kernel.gets
。截至此答案,至少有couple PRs地址为the issue。
答案 1 :(得分:0)
我怀疑srb init
不能正确完成。我在sorbet/gems/rspec-core.rbi
中定义了RSpec模块,并在其他rspec gems rbi中定义了
是否有sorbet/gems
文件夹? srb rbi gems
对您有用吗?如果没有,请查看Slack频道并在那里询问。
编辑:问题在于最初的srb init
之后安装了gem。对于这些,您应该运行srb rbi gems
为添加的宝石生成一个RBI文件。