|
|
|
|
|
by js2
2883 days ago
|
|
The first package installer I was aware of that used a SAT solver was SUSE's, back when Yum's solver was extremely primitive and would regularly fail to find a solution. https://en.wikipedia.org/wiki/ZYpp I think using a SAT solver for package installation arose out of dealing with much more complex requirements than are likely to arise in a Go project. The Smart package installer used heuristics to find a solution depending upon the operation: https://bazaar.launchpad.net/~smartpm/smart/trunk/view/head:... Poetry, Cocoapods, and Dart are all apparently using this SAT solver: https://github.com/dart-lang/pub/blob/master/doc/solver.md FWIW, I wrote a package installer that worked with RPMs, Solaris packages and AIX packages about 15 years ago and ended up with a minimal version selection similar to vgo. I wasn't a genius or anything... I just wasn't aware of SAT solvers at the time and it was the simplest thing that worked. |
|