-
Notifications
You must be signed in to change notification settings - Fork 368
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
feature request: support co-installation of different versions of a same package #4054
Comments
If you install two versions of the same package to the same switch, what do you expect |
Why do you need them in the same switch ? |
I don't expect anything special. |
If it "just works", I in fact have no strong requirements that they are in the same switch. |
You can already have several versions of a packages installed on different switches. |
Ok, but it should work out of the box. |
imho opam shouldn't have this behavior directly, but it can be integrated via a plugin (see otopop that wraps the install). In a more light way, it can even be scripted, using install options, switch export/import, and return codes. |
This feature would be utmost useful to non OCaml experts (i.e. just end-users of some OCaml software; take coccinelle for example). |
Surely local switches are a better fit there? |
End-users of OCaml software should not be using opam but their system package manager and/or distributed binaries. |
Daniel, you are a real day saver. |
That’s not always true (tool may be not packaged, or the OS may package an older or non-bleeding edge version) - especially with things like coccinelle which are development tools. I see the use-case @UnixJunkie is after (and feel the same thing when forced to use the package manager of programming languages I don’t use), I just don’t think there’s anything to do beyond having coccinelle’s README include the incantation for setting up a local opam switch for its dependencies. |
|
That speaks for itself. Don't require end users to learn the idosyncrasies of the underlying technology you are using if it doesn't appear at the ux level of your product. This whether your tool is a development tool or not and whether it's packaged or not. |
This discussion started as a feature request requiring changes across the entire toolchain (and which wouldn't begin with opam) and then morphed into a fairly amorphous UX question. Given the increasing availability of other caching systems (e.g. Dune's cache; opam-bin) and the slow steering of opam towards local switches and even potentially to be driven by build systems directly, I'm going to close this. |
Hello,
I know this might not be easy to do, and might have deep implications in the OCaml tool-chain, but, for end-users of OCaml software, this is a highly desirable feature.
This would allow to have "old opam packages" still being able to install, despite
having recent versions of its dependencies already installed in the current switch.
Nix can do it. Can't we steal this feature from nix? :)
Thanks,
F.
The text was updated successfully, but these errors were encountered: