在使用 sorbet 的 rails 应用程序中,当您有一个需要类型实例的方法时,比如说Foo
. 并且您需要Foo
在请求之间持续存在于内存中的应用程序的初始化程序中初始化一个实例。Foo
然后您对源代码或使用的任何文件进行任何更改Foo
。然后 sorbet 认为该实例不再是 的实例Foo
,您需要重新启动您的应用程序才能使其停止出错。
这似乎是一种罕见的情况,但在我们的应用程序中,我们使用了一些依赖注入,而且这是一个庞大的团队。因此,几乎每次我们进行 git 更新时,sorbet 都会让我们重新启动我们的应用程序,并且在我们编写代码的一天中很多次。我们有一个大型应用程序需要一段时间才能重新启动,不得不这样做非常令人沮丧。
有想法该怎么解决这个吗?如果有帮助,我可以制作一个示例 rails 应用程序来演示此行为。