2 unstable releases
Uses old Rust 2015
0.3.0 | Feb 9, 2018 |
---|---|
0.2.0 | Feb 1, 2018 |
#226 in #package-manager
22KB
411 lines
The universal package manager library (upm-lib) provides an abstraction to perform simple commands with any package manager. Currently there are no frontends implemented, but the functionality is exposed for frontends to utilize. Feel free to implement a frontend!
If you want to do something with a particular package manager then this probably isn't the library for you. If you want to query multiple package managers at once to search for a package provided by multiple sources, then this is the library for you. This is common for language specific binaries that are provided by language package managers and system package managers.
Since certain package managers such as NPM allow installation in a user's home directory or somewhere accessible for all users, there is a distinction between installation and removal of packages on a system-wide level and a local level.
It is expected that the frontend would load in the different package managers from
configuration files as discussed in PackageManager
.
Versioning is provided by the Version struct. Version is used in place of semver due to the need to support non-semantic versions.
Dependencies
~4MB
~84K SLoC