3

在运行srb initsrb tc传入一个新的 Rails 项目后,我安装了 RSpec,srb tc现在有很多抱怨,包括:

spec/spec_helper.rb:16: Unable to resolve constant RSpec https://srb.help/5002
    16 |RSpec.configure do |config|

如何解决此错误?

4

2 回答 2

3

这是因为 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解决截至本答案未合并的问题。

于 2019-06-28T17:42:02.507 回答
0

我怀疑srb init没有正确完成。我定义了 RSpec 模块sorbet/gems/rspec-core.rbi和其他一些 rspec gems rbi。

sorbet/gems文件夹吗?对你有用srb rbi gems吗?如果他们不这样做,请查看 Slack 频道并在那里询问。

编辑:问题出在初始srb init. 对于那些,您应该运行srb rbi gems为添加的 gem 生成一个 RBI 文件。

于 2019-06-28T19:21:42.073 回答