martinthomson / i-d-template

A template for IETF internet draft git repositories
Other
207 stars 182 forks source link

Gemfile weirdness #350

Closed mnot closed 1 year ago

mnot commented 1 year ago

Getting this on a build with an updated /lib:

Could not find 'bundler' (2.3.11) required by your /Users/mnot/Projects/I-D/lib/docker/action/Gemfile.lock.

To update to the latest version installed on your system, run `bundle update --bundler`.

To install the missing version, run `gem install bundler:2.3.11`

Checked in 'GEM_PATH=/Users/mnot/.gem/ruby/2.6.0:/Library/Ruby/Gems/2.6.0:/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0', execute `gem env` for more information

To install the version of bundler this project requires, run `gem install bundler -v '~> 2.3'`

What's weird is that it's pulling in lib/docker/action/Gemfile.lock when I'm not building the docker image.

Speculating, could it be because lib/Gemfile is a symlink to that, and gem is working relative to it?

In any case, requiring a specific (and now old) version of bundler is a bit problematic, because it's one of the few things that is reasonable to install system-wide.

mnot commented 1 year ago

Also, pip seems to be picking up something from the environment that specifies x86_64 as the arch, whereas an install usually (and correctly) builds arm64. Still looking into this.

mnot commented 1 year ago

Yeah, rm lib/Gemfile lib/Gemfile.lock; cp lib/docker/action/Gemfile lib/Gemfile seems to work. Weirdly, it also seems to fix the pip problem; not sure what's going on there.

martinthomson commented 1 year ago

Are you building docker images at all or sharing the lib directory across multiple hosts? I will nuke the symlink in any case - I want to keep these files synchronized, but I guess that I can just add a consistency check to CI.

mnot commented 1 year ago

Nope and nope.

martinthomson commented 1 year ago

Let me know if you continue to have problems. I'm guessing that what happened is that you upgraded bundler on your machine and it got confused.