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
This came up with Puma and Rack, neither of which has a dependency on the other. But, Puma v5 (current version is 6) is not compatible with Rack v3.
Given that the gemspecs for both are queried when using bundler, it would be helpful if one could add version constraints for non-dependent gems to a gemspec, such that a warning could be shown to the user.
IOW, a warning informing them that the selected Puma version is incompatible with the selected Rack version.
Bundler could also error/fail/stop, which couldn't be overlooked...
Thanks for the reply. I need to really read that link when I have more time, but it does seem to start as an option involving RubyGems.
Not sure, but I can't see this fully working with RubyGems, although RubyGems could admit a warning given an incompatible version. With Rubygems, it can only resolve issues related to the current install, it can't backtrack easily.
Assume Rack v3 had an 'optional' dependency for Puma v6. Let's say one has Puma v5 installed, and then one installs Rack. That could either stop, or admit a warning that Puma v5 is incompatible with Rack.
If one installed Rack v3, then installed Puma v5, one wouldn't see any warnings. But, even though Puma 5 is EOL, a patch release could be done that added an 'optional' dependency on Rack < 6.0.
But, using this with Bundler could actually work automatically, and issue a warning when a 'less than' dependency forced a lower version?
I think the proposed option was for .gemspec files (#add_optional_dependency). My understanding is that in the case you pointed out, Bundler would be fine in presence of rack v3, if either puma is not in the Gemfile, or has been resolved to Puma v6. Otherwise it would print an error/warning.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
This came up with Puma and Rack, neither of which has a dependency on the other. But, Puma v5 (current version is 6) is not compatible with Rack v3.
Given that the gemspecs for both are queried when using bundler, it would be helpful if one could add version constraints for non-dependent gems to a gemspec, such that a warning could be shown to the user.
IOW, a warning informing them that the selected Puma version is incompatible with the selected Rack version.
Bundler could also error/fail/stop, which couldn't be overlooked...
All reactions