-
Notifications
You must be signed in to change notification settings - Fork 783
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
support for semver version range backed by package provider chain would make asdf a more useful version manager #1392
Comments
I think having symbols like
I think the whole point of Using a OS package managers introduces a lot of problems. It introduces non-determinism in an I think a general tool that abstracts OS package-manager commands is a venerable goal in general (and i wish such a tool was commonplace), and your proposed idea can fit very well into it, but I think it's a feature for a separate project. Same thing with a tool that checks if verisons in the path are the same as those specified in the So my vote is to close this issue since it's out of scope. |
Related to #352 |
I agree that asdf runs counter to relying on OS package managers, but I feel I've got to disagree that this is out of scope. I don't see any reasoning for why this feature would belong to a separate project. To count, version pinning can be explicit, yes, but the scope of how explicit that pinning is should be decided by the user. Per the use case in OP, if a user is looking to use a feature that is available starting in To throw my own use case onto the pile, consider:
Desired behavior:
Actual behavior:
I have to think far more use cases would benefit from more flexible version pinning, as opposed to necessarily experiencing dependency rot for want of an >= feature. |
Is your feature request related to a problem? Please describe
I understand that
.tool-versions
is focused on getting everyone on the same version, but sometimes people lag behind because they only can install a version of a program from the OS package manager. A version that might nevertheless be good enough for the project.Example: I need in my repo pre-commit hook the
git branch --list
command to reflect the case where there is an ongoing rebase, so any version >= 2.18 is good enough.I would like to be able to write in
.tool-versions
something likeDescribe the proposed solution
Write in
.tool-versions
Run
asdf install
I personally don't install asdf plugins that are neither from the core repo nor from the community repo.
But git in my 20.04 LTS Ubuntu is still going to receive security updates for a while, and if it's good enough for the version range, why not use that?
And if I happen to have homebrew and have installed an even more recent version of it, and it's good enough for the version range, why not use that?
And if none work, and I am willing to install the relevant plugin, it would be nice for it to support the semver directly from the CLI
(I had to use python here, because I don't intend to install the git plugin)
Describe similar
asdf
features and why they are not sufficientDirecting asdf to use the system git requires the git plugin, which I'm not going to install (as described in the proposed solution)
Even if I did, this will not guarantee that the system version matches the requirement set out in
.tool-versions
. That part would still have to be done by the user.Describe other workarounds you've considered
I'm not aware of any version manager that is trying to attempt this kind of semver based tool version convergence across
I'm well aware that this is not a design goal of asdf, but I needed to put it out there.
The text was updated successfully, but these errors were encountered: