Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
with_original_env so BUNDLER_APP_CONFIG is honored
Bundler's `with_clean_env` completely erases all Bundler-related environment variables, even if those variables existed prior to loading Bundler. That means that custom Bundler settings that we legitimately want to pass down to child processes - namely, `BUNDLE_APP_CONFIG` - are erased, leading to errors when the child process loads `bundler/setup`. Note that `with_clean_env` is actually deprecated by Bundler. The method recommended by Bundler going forward, and the one used in this commit, is `with_original_env`. This clears any variables that were set by Bundler itself, but retains any user-supplied settings that existed prior. This fixes a bug where spring binstubs would fail if `BUNDLE_APP_CONFIG` was set to a custom location (i.e. other than the default `./.bundle`) and `bundle install --path` was used. The binstub would not be able to load the bundle because without `BUNDLE_APP_CONFIG`, it could not know the path where the gems were installed.
- Loading branch information