为什么更改 Bundlers 安装目录会导致 Sorbet 翻倒?
Why does changing Bundlers installation directory cause Sorbet to fall over?
出于与我的 CI 设置有关的原因,我需要将 Ruby gem 的安装位置从默认位置更改为:bundle config set path 'vendor/bundle'
但是,一旦我这样做,Sorbet 就失去了它的酷感并抛出了 6,000 多个错误。为什么 Sorbet 会如此敏感地依赖于 gem 的安装位置? (我在切换位置之前清除了所有 gem,所以这不太可能是由于 gem 版本的冲突)。
总结
当 gems 安装到:
/Users/my-home-directory/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems
bundle exec srb tc
工作正常。但是当 gems 安装到:
/Users/my-home-directory/project-name/vendor/bundle/ruby/2.7.0/gems/
然后 运行 bundle exec srb tc
产生了数千个错误。
默认情况下,Sorbet 会尝试对 project-name
下的整个目录进行类型检查。尝试将以下行添加到 sorbet/config
:
--ignore=/vendor/bundle
(这应该自动包含在包含 https://github.com/sorbet/sorbet/pull/3897 的较新安装的冰糕中)
出于与我的 CI 设置有关的原因,我需要将 Ruby gem 的安装位置从默认位置更改为:bundle config set path 'vendor/bundle'
但是,一旦我这样做,Sorbet 就失去了它的酷感并抛出了 6,000 多个错误。为什么 Sorbet 会如此敏感地依赖于 gem 的安装位置? (我在切换位置之前清除了所有 gem,所以这不太可能是由于 gem 版本的冲突)。
总结
当 gems 安装到:
/Users/my-home-directory/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems
bundle exec srb tc
工作正常。但是当 gems 安装到:
/Users/my-home-directory/project-name/vendor/bundle/ruby/2.7.0/gems/
然后 运行 bundle exec srb tc
产生了数千个错误。
默认情况下,Sorbet 会尝试对 project-name
下的整个目录进行类型检查。尝试将以下行添加到 sorbet/config
:
--ignore=/vendor/bundle
(这应该自动包含在包含 https://github.com/sorbet/sorbet/pull/3897 的较新安装的冰糕中)