You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Steep以加载标准库外gem的RBS类型定义文件?

问题根源

你遇到的两次报错核心原因一致:Sinatra不属于Ruby官方标准库范围,默认没有内置RBS类型定义,直接在Steepfile中声明library 'sinatra'也找不到未提前配置的第三方类型包。

完整配置流程
  • 初始化RBS集合配置
    在项目根目录执行命令:
    rbs collection init
    执行后会生成rbs_collection.yaml文件,该文件用于管理所有第三方gem的RBS类型依赖。
  • 新增Sinatra类型依赖
    打开rbs_collection.yaml,在gems配置段下添加如下内容:
    - name: sinatra
    
  • 拉取第三方类型定义
    执行命令完成类型文件安装:
    rbs collection install
    该命令会自动从公共类型仓库拉取Sinatra对应的RBS定义到本地。
  • 调整Steepfile配置
    在你的Steepfile中添加以下配置,开启RBS集合加载:
    collection '.'
    
    无需再单独添加library 'sinatra'配置,RBS集合会自动加载所有已配置的第三方gem类型。
  • 重新执行类型检查
    运行原有检查命令即可:
    bundle exec steep check --log-level=fatal
通用扩展方案

后续其他第三方gem出现同类未知类型报错时,都可以按照上述流程,在rbs_collection.yaml的gems段添加对应gem名称,再执行rbs collection install即可完成类型加载。

内容的提问来源于stack exchange,提问作者gayavat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 14:45:04