9 different package managers

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com, or follow me on Twitter.


About Leiningen:


The artifacts are signed!

It simplifies the dependency definition of maven.

It’s easy to publish new artifacts.

It’s easy to learn how it works.

It allows to reuse Java artifacts from other maven repositories.


It violates the “Single Responsibility” pattern. Same as Maven.

Licenses are not mandatory.

No Mirrors.

I’ve wasted countless hours dealing with version conflicts and dependencies. I want a package manager to get things working, and I don’t care about what that requires. The semantic versioning, in terms of developing a lock on the newest versions of a package — I don’t need that. I am happy to hard-code a collection of packages with specific versions, if I know they work together. Getting stuff to work is much more important to me than having the newest version of things.


There is no clear winner and imho, there is no perfect package manager :-( There are of course more package managers, such as CPAN (Perl) and Nuget (.NET), and we hope to be able to cover them in the future. You can find a complete list of package managers here.

Post external references

  1. 1