Why global installation of packages?
Why global installation of packages?
What do I mean when I say?
- System level package / Global package: Package installed so that it is available for every program on the system
- Local package: Package installed into sub folder of project and only available to that project
Timeline
- dpkg 1994
- cpan, uploaded packages from 1995
- jar 1996
- debian release with apt 1999
- perl package manager goes back to 1999
- rubygems 2004
- ruby bundler 2010, git history from 2010, ruby gem from 2009
- npm 2010
- nuget 2010
This is just a sampling of when different packaging solutions appeared. My impression is that the first solutions where focused on system level package management. RubyGems and similar package managers came out of that context. I don’t know if it’s a coincidence but it looks like local package management tools started to appear first around 2010.
Global installation of packages probably dates back to system level packages. Since disk space is cheaper, there is no longer the same need to share packages among programs and services.
Tags
Do you want to send a comment or give me a hint about any issues with a blog post: Open up an issue on GitHub.
Do you want to fix an error or add a comment published on the blog? You can do a fork of this post and do a pull request on github.
Comments