为gem添加Sorbet RBI类型声明的目录结构规范是什么?
Gem内置RBI文件的组织结构选择
两种结构分别对应不同的使用场景,你可以根据自己的需求选择:
- 如果是准备提交PR合入上游gem,或是fork后仅在自有项目中维护类型签名,优先选择镜像
lib/目录的结构,为每个rb文件编写对应的rbi签名文件
Sorbet本身只会递归扫描/rbi目录下所有.rbi后缀的文件,对目录结构没有强制要求,这种结构的核心优势是降低人工维护成本:不管是你自己还是上游维护者,都可以直接对照lib下的业务代码快速找到对应的类型签名,后续功能迭代时同步更新签名的成本极低,也不容易出现错配、漏改的问题。如果没有头绪,可以直接用tapioca gem [gem名]命令生成脚手架RBI,默认输出的就是镜像lib的结构,你直接在生成的文件上补充签名即可。 - 仅当你计划向公共的第三方类型签名仓库贡献签名时,才需要遵循单文件按版本拆分的规则
这种结构是第三方公共签名仓库为了统一管理全生态海量gem的签名制定的特殊规范,不属于RBI本身的通用要求,完全不需要在自己维护的gem代码里遵循。
内容的提问来源于stack exchange,提问作者jaredsmith
相关产品推荐
相关产品推荐

