Design a package installer with dependencies
Design a package installer: a user asks for a package and the installer fetches it together with everything it depends on, in a valid order. Cover how dependencies and versions are resolved, how cycles and conflicts are reported, where packages are downloaded from and cached, and what happens if an install fails halfway.
No answer yet. Write the first one; the best answer gets endorsed.
