spoom icon indicating copy to clipboard operation
spoom copied to clipboard

Spoom fails when a BUNDLE_PATH is set

Open notahat opened this issue 2 years ago • 3 comments

Describe the bug Spoom ignores the BUNDLE_PATH when trying to bundle exec srb.

To Reproduce Spoom version: 1.2.4

Steps to reproduce the behavior:

  1. Set a BUNDLE_PATH
  2. Run bundle exec spoom tc
  3. You'll get an error along the lines of:
bundler: failed to load command: srb (/app/bundle/bin/srb)
/usr/local/lib/ruby/3.1.0/bundler/source/git.rb:214:in rescue in load_spec_files': https://github.com/crafterm/apnotic.git (at e0a84c9@e0a84c9) is not yet checked out. Run bundle install first. (Bundler::GitError)

The above error is from a Docker instance in our CI environment, with BUNDLE_PATH set to /app/bundle and spoom being executed in /app/api. The particular error will depend on your bundle path and gems, but it'll always tell you it can't find your gems and that you need to bundle install.

Expected behavior Spoom should respect the BUNDLE_PATH and successfully execute srb.

The code This code is what causes the problem. Spoom removes the entire bundler environment and then re-runs bundle exec.

I would expect Spoom and Sorbet to always be in the same bundle, so you shouldn't need to re-run bundle exec. Maybe there's a use case I'm not thinking of though?

notahat avatar Nov 28 '23 00:11 notahat

Worth nothing this is a regression in I think 1.2.0. Works fine under 1.1.x.

Bo98 avatar Dec 15 '23 15:12 Bo98

This was previously reported in #349, but that was closed with the explanation that we're expected to run spoom with a custom --sorbet that restores the stripped BUNDLE_* envs.

Bo98 avatar Dec 15 '23 16:12 Bo98

Just adding a bit more context, we also install gems in a different location (./vendor/bundle/). spoom was working fine for us in bundler 2.5.5, but started failing when we migrated to 2.5.10. Passing the manual --sorbet param as explained in #349 solved the issue, but maybe there's something in bundler in one of those versions between 2.5.5 and 2.5.10? We upgraded directly, not version by version, so I'm not sure where's the problem.

mrcasals avatar May 13 '24 13:05 mrcasals