You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please try with the newest version of Passenger to avoid issues that have already been fixed
Present in the latest passenger gem
Question 1: What is the problem?
Expected behavior:
I'm able to use the latest passenger gem with rails apps that use rack 2.x.
Actual behavior:
This is not possible now due to gem dependency conflict.
How to reproduce it:
Start a new rails 7.2 project, and modify Gemfile by adding:
gem "passenger", "6.0.24"
gem "rack", "< 3"
With this bundle install will fail with version solving has failed error message:
$ bundle install
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Could not find compatible versions
Because passenger >= 6.0.24 depends on rackup >= 2.0.0
and rackup >= 2.0.0 depends on rack >= 3,
passenger >= 6.0.24 requires rack >= 3.
So, because Gemfile depends on passenger = 6.0.24
and Gemfile depends on rack < 3,
version solving has failed.
Starting from version 6.0.24 passenger gem requires rackup >= 2.0.0 to work, which depends on rack >= 3.0. This breaks the ability to use the latest passenger version with rails apps that use rack 2.x
Rack 2 is still actively maintained and used by many Rails applications and gems.
I think this may be an unintended side effect, as passenger .gemspec specifies:
s.add_dependency 'rack', '>= 1.6.13'
but due to the recently added:
s.add_dependency 'rackup', '>= 2.0.0'
passenger now actually requires rack 3.x to work.
Possible fix:
This whole issue seems to stem from the fact that rackup 1.0.0 gem release was broken as it did not contain required files, and caused problems described in #2559
Since then, it appears that rackup 1.0.1 has been released specifically to address that issue: rack/rackup#13 (comment)
The possible fix is to either change the dependency to:
s.add_dependency 'rackup', '>= 1.0.1'
or drop that dependency requirement at all, as I believe such issues with third-party gems should not be solved at the passenger .gemspec level.
Question 2: Passenger version and integration mode:
Both open source and enterprise versions are affected.
Question 3: OS or Linux distro, platform (including version):
Issue report
Are you sure this is a bug in Passenger?
Yes.
Please try with the newest version of Passenger to avoid issues that have already been fixed
Present in the latest passenger gem
Question 1: What is the problem?
Expected behavior:
I'm able to use the latest passenger gem with rails apps that use rack 2.x.
Actual behavior:
This is not possible now due to gem dependency conflict.
How to reproduce it:
Start a new rails 7.2 project, and modify
Gemfile
by adding:With this
bundle install
will fail withversion solving has failed
error message:More details:
Related to #2559 and cc5359c
Starting from version 6.0.24 passenger gem requires
rackup >= 2.0.0
to work, which depends onrack >= 3.0
. This breaks the ability to use the latest passenger version with rails apps that userack 2.x
Rack 2 is still actively maintained and used by many Rails applications and gems.
I think this may be an unintended side effect, as passenger .gemspec specifies:
s.add_dependency 'rack', '>= 1.6.13'
but due to the recently added:
s.add_dependency 'rackup', '>= 2.0.0'
passenger now actually requires
rack 3.x
to work.Possible fix:
This whole issue seems to stem from the fact that
rackup 1.0.0
gem release was broken as it did not contain required files, and caused problems described in #2559Since then, it appears that
rackup 1.0.1
has been released specifically to address that issue:rack/rackup#13 (comment)
The possible fix is to either change the dependency to:
s.add_dependency 'rackup', '>= 1.0.1'
or drop that dependency requirement at all, as I believe such issues with third-party gems should not be solved at the passenger .gemspec level.
Question 2: Passenger version and integration mode:
Both open source and enterprise versions are affected.
Question 3: OS or Linux distro, platform (including version):
Ubuntu 24.04 LTS.
Question 4: Passenger installation method:
[x] RubyGems + Gemfile
[ ] RubyGems, no Gemfile
[ ] Phusion APT repo
[ ] Phusion YUM repo
[ ] OS X Homebrew
[ ] source tarball
[ ] Other, please specify:
Question 5: Your app's programming language (including any version managers) and framework (including versions):
Ruby 3.2.3, Rails 7.2
Question 6: Are you using a PaaS and/or containerization? If so which one?
No.
Question 7: Anything else about your setup that we should know?
No.
The text was updated successfully, but these errors were encountered: