-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Configure passenger to load bundler before loading app #4498
Conversation
This worked to fix the bug I encountered in staging. However, in qa it can't find the version of bundler it expects. Gives the following error:
bundler version on both environments is 2.3.18 |
2c82eb6
to
37ec0c5
Compare
This helps avoid gem version conflicts like the one encountered in pulibrary/pulfalight#1353
37ec0c5
to
d5ab22e
Compare
Note that I also had to upgrade bundler on the box to get this option working right. But I did test it both with and without an override variable and I believe this is good to merge; ready for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding this passenger config, @hackartisan ! This will help with some DACS applications as well, I'm looking forward to copying it 😂.
Modern versions of bundler comply with gemfile configuration by checking the "bundled with" line and downloading the desired bundler version before executing bundler. (if it's already installed it'll just use the correct installed version). This means we don't need to manage bundler versions carefully like we did before. Also, this specific bundler version management causes problems in the context of the changes introduced in #4498 -- when passenger preloads bundler, ruby looks for a version of bundler that appears to be locked in at installation time when installed from source. I couldn't find a way to configure ruby to use a specific bundler version during installation from source. So we have to ensure that the version that ruby will look for is installed.
Modern versions of bundler comply with gemfile configuration by checking the "bundled with" line and downloading the desired bundler version before executing bundler. (if it's already installed it'll just use the correct installed version). This means we don't need to manage bundler versions carefully like we did before. Also, this specific bundler version management causes problems in the context of the changes introduced in #4498 -- when passenger preloads bundler, ruby looks for a version of bundler that appears to be locked in at installation time when installed from source. I couldn't find a way to configure ruby to use a specific bundler version during installation from source. So we have to ensure that the version that ruby will look for is installed.
Modern versions of bundler comply with gemfile configuration by checking the "bundled with" line and downloading the desired bundler version before executing bundler. (if it's already installed it'll just use the correct installed version). This means we don't need to manage bundler versions carefully like we did before. Also, this specific bundler version management causes problems in the context of the changes introduced in #4498 -- when passenger preloads bundler, ruby looks for a version of bundler that appears to be locked in at installation time when installed from source. I couldn't find a way to configure ruby to use a specific bundler version during installation from source. So we have to ensure that the version that ruby will look for is installed.
This helps avoid gem version conflicts like the one encountered in
pulibrary/pulfalight#1353