What is the state of art in Programming Language Package Management?

Apparently there are many programming language specific package managers these days. Each with different takes on versioning, dependency resolution, version pinning / locking etc..

Usually I see Ruby’s bundler and Rust’s cargo heralded quite a lot on sites like Reddit and Hacker news.

What are the current best practices in programming language package management? Eg: local installation V/s global installation of packages, locking to version V/s just requiring major version be the same.

Also what are the important disadvantages and advantages of each of these choices?

Go to Source
Author: Linux Stallman