rubybundlersorbet

Bundler can't resolve a version for sorbet-static that matches my current platform; Found sorbet-static ... that did not match the current platform


On an intel Mac running Ventura 13.3, I am getting this problem when trying to bundle install :

Found sorbet-static (0.5.9019-x86_64-linux),
sorbet-static (0.5.9019-x86_64-linux) that did not match the current platform

My colleagues, also running on Intel macs but not on Ventura 13.3 (they are running earlier versions of macOS), are able to bundle install just fine.

The gemfile has Sorbet locked to:

  gem 'sorbet', '= 0.5.9019'

the problem appears to be with sorbet-static, which is a dependency of sorbet

interestingly, this is an older version of sorbet (which unfortunately our app has dependancies around). My colleagues' macbooks seem to pick up the build for 0.5.9019-x86_64-linux or 0.5.9019-universal-darwin-21, but my mac won't pick up either of those versions.

If I examine the available builds on Rubygems (which you can see here) https://rubygems.org/gems/sorbet-static/versions?page=40

enter image description here

You'll notice there is no universal-darwin-22 build of this version of this gem.


Solution

  • You should read this GitHub issue to get a better understanding of both the problem and how to resolve it. In short:

    Sorbet only support HEAD, so we have no plans to update old gem versions.

    If you want to hack around this, all universal-darwin-* binaries are identical.

    ...

    You could unpack the universal-darwin-19 gem, sed 19 to 20 everywhere, and re-tar it up, and host the *.gem file somewhere.

    Otherwise, i'd recommend upgrading. You're on a 9 month old sorbet version—we've made a lot of improvements since then.

    The real answer is that you need to upgrade your gem version. I don't know why you're pinned to a two year old version of the library but I imagine that the pain of upgrading is less than attempting to create your own custom build of the gem for a specific Darwin version.