-
Notifications
You must be signed in to change notification settings - Fork 365
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 the "cohabitation" of several versions of a same package [feature request] #3696
Comments
I don't believe any of the OCaml build ecosystem below opam would support that correctly... I am not saying it's not possible, Nix and NPM e.g. work like that, but this seemingly simple feature completely changes the dependency paradigm we work with. This amounts to removing the "switch" abstraction, and delaying actual dependency resolution to build/link time. The approach we have taken is to keep the "switch" abstraction, which has the advantage of being easier to work with (a single set of "installed" packages), and provide the missing features that this would permit with the addition of:
This is not the holy grail, and we could still improve to e.g. provide easier access to binaries from different switches, but I believe it is a good compromise to keep everything in control with the tooling we have below opam. |
I was also not thinking this is easy. |
Can you explain how this feature would provide additional utility vs using the lightweight switches in opam2? Switches permit the simultaneous installation of different version of libraries, and act as a dependency sandbox. |
I don't know about lightweight switches. |
Duplicate of #4054 |
This was suggested recently by Emilio Jesús Gallego Arias on caml-list.
I think this feature would significantly boost the reproducibility of opam package installations
over time (which a desirable property).
For example, it would allow two packages that require a different version of a same library dependency
to be satisfied at the same time.
The text was updated successfully, but these errors were encountered: