Skip to content

bundle platform doesn't indicate that BUNDLE_FORCE_RUBY_PLATFORM is in effect, and neither does anything else #8572

@robacarp

Description

@robacarp

Describe the problem as clearly as you can

We recently had a difficult to diagnose problem.

The summary of the issue is this:

  • Running on an arm based laptop
  • A repo had .bundle/config with BUNDLE_FORCE_RUBY_PLATFORM set
  • A gem was added to the repo which had a ruby-platform version, but the ruby-platform version had an amd64 binary in it
  • Bundler was installing the incorrect version of the gem

Did you try upgrading rubygems & bundler?

Yep

Which command did you run?

In diagnosing the problem, we ran bundle platform and ruby -e "puts Gem::Platform.local", but they both emitted the expected arm64, even though BUNDLE_FORCE_RUBY_PLATFORM was set to true.

What were you expecting to happen?

The situation is incredibly obscure, but I think looking back to it I would have expected bundle platform to:

  • warn about the config override
  • or say that it would have installed the ruby platform as configured

What actually happened?

> bundle platform
Your platform is: arm64-darwin-24

Your app has gems that work on these platforms:
* aarch64-linux
* arm-linux
* arm64-darwin
* ruby
* x86-linux
* x86_64-darwin
* x86_64-linux

Your Gemfile specifies a Ruby version requirement:
* ruby 3.3.0

Your current platform satisfies the Ruby version requirement.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions