I have to work with a lot (9) of different package managers at my daily work at VersionEye. Part of our mission is it to make manual updating of dependencies extinct, because it’s a manual and time consuming task which nobody enjoys. That’s why we are building a notification system for open source software libraries to make Continuous Updating easy and fun. And since we support several programming languages – 8 at this point! – I get to write crawlers and parsers for all of them. To give you a better overview over the strengths and weaknesses of these package managers, I picked the most popular one for each language and will compare them. The contenders are:
- RubyGems / Bundler (Ruby)
- PIP / PyPI (Python)
- Packagist / Composer (PHP)
- NPM (Node.JS)
- Bower (JS, CSS, HTML)
- CocoaPods (Objective-C)
- Maven (Java)
- Lein (Clojure)
Comparison Matrix
Here are the results of my comparison.
You can read the complete article on the VersionEye Blog and follow the discussion on hacker news and Reddit.