Closed wbthomason closed 2 years ago
My feeling is that these are going to be the only controversial ones:
Must be able to retrieve and manage the specified versions of dependencies transitively, starting from user-specified packages
Must either be able to solve for compatible versions of dependency packages across all dependency relationships, or warn users if using a potentially inconsistent version resolution strategy (e.g. picking the first specified version of a dependency).
Must be able to check for the existence of a corresponding executable on the user's system
I personally think these are reasonable to recommend "officially", ofc package manager authors can choose to not comply with the specification and only fetch the latest dependency version should they choose (and shift the burden of compatibility checking onto the users).
Here's an attempt at providing guidance for package manager implementers. I don't love the wording of everything, but I think it covers the features I would deem necessary. That said, the requirement to do some sort of version constraint solving may put a lot of implementers off from using this spec.