我正在将 Sorbet 添加到一个相当普通的中小型 Rails 应用程序中。
运行安装脚本srb init
后,我得到了这个错误确认:
Adding `typed:` sigils did not converge after 50 tries.
Would you like to continue anyway? [Y/n]
我选择了“Y”。脚本随后停顿了一会儿,报告说尝试了 100 次后不成功,但随后又继续说“完成”。我不清楚这是否意味着它正在工作。
但是,当我运行时bundle exec srb tc
,会出现很多问题:
它似乎没有添加任何印记,我认为它会
它似乎报告了核心类中的问题:
https://github.com/sorbet/sorbet/tree/645cc5344236f8e32d18320dd728ea6954814229/rbi/core/class.rbi#L136: The corresponding argument arg0 in the previous definition was not a splat argument
136 | def instance_methods(arg0=T.unsafe(nil)); end
- 它似乎在报告我无法控制的 gems 中的问题,比如 activerecord:
sorbet/rbi/sorbet-typed/lib/activerecord/all/activerecord.rbi:464: Method ActiveRecord::Base.before_create redefined without matching argument count. Expected: 2, got: 3 https://srb.help/4010
我必须手动忽略这些项目吗?我开始这样做,但我认为这也不正确。总的来说,我不确定设置是否有效,或者我收到的初始错误是否是问题所在。
版本信息:
sorbet (0.5.5384)
sorbet-runtime (0.5.5384)
sorbet-static (0.5.5384-universal-darwin-14)
rails-6.0.2.1
ruby 2.6.4p104
macOS Mojave
MacBook Pro 2017
谢谢