-
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
[Discussion] Multiple package version support in pkgm, potential problems and feature creep #29
Comments
my feeling would be that if you need to switch versions, you either need to be using |
or, if #26 is merged, you could have two (a "local" and a "global"). |
I think we can support this for packages that are designed to be installed in parallel, but as Jacob says a more robust solution is |
OS-level installs aren't well-situated for multiple version install, though hacks abound. I can think of two that could work:
Both have the problem that the installed software will be looking for the rest of its suite under common names, and external software won't find it without tricks. This is, however, the specific use case at which |
indeed, only some packages will support this, this is the problem with “installing” and part of the reason Python is a notable exception ofc in that it is designed to have each minor installed alongside each other. I think really we need @andrewcrook to describe what he is trying to achieve more specifically. |
The search for information I am just trying to get a sense of what the software is meant to do and road map when it comes to the finer details. I think multiple versions of packages of programs is different to handling multiple versions of libraries, however, library packages often come with programs e.g command line tools. What am I looking for? Personally I would like to have latest tools system wide and use dev on projects. I was thinking about something like Flox but without the nix. I want it to replace homebrew formulas (probably not casks). direnv and mise/asdf (and now flux). I know people will complain about not having multiple python versions at the same time I see it a lot on other projects. I think this could still be supported. Python thing doesn’t really affect myself much, but it would be nice, I tend to set one a time in the current project and have latest version system wide. However, if a package requires a different versions of python then that should be a dependency and hard linked into the version of the package to call it directly. |
k so you want to try multiple versions of things, I don’t grok though why you need them installed, this is what |
Following from #24 (which we cannot rely upon packages following semver unfortunately) I have hit several other issues thinking about this. I think we need to clarify this before #24 and starting an uninstall feature.
How do we want to support multiple versions?
some points:
/usr/local/bin
using the packages name. Do we make it the highest version installed? how to run other versions?/usr/local/bin/package-version/usr/local/pkgs/package folder/version/package-bin
/usr/local/lib
/usr/local/bin/package
As you can see this starts to become very messy and increases complexity.
Perhaps we only should have one version for each package or perhaps only the major or major and minor?
or perhaps only allow multiple versions for certain packages?
With libraries I would hope that libraries would be on path in the env and
/usr/local/lib
is just a fallback.But we would have to think about this because its probably more likely that we want multiple versions of libraries.
Will pkgx's pantry be keeping multiple versions of everything?
I doubt it, maybe libraries, compilers and interpreters for an extended period of time.
The text was updated successfully, but these errors were encountered: