All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

What Truly Defines a Package Manager: Beyond Basic Registries to Dependency Graphs

By

jandeboevrie

2mo ago· 5 min readenInsight

Summary

The article discusses the characteristics that distinguish true package managers from tools that merely resemble them. The author argues that while many tools have basic package management features like registries and version pinning, what truly defines a package manager is the ability to handle complex dependency graphs. This requires sophisticated resolution algorithms, lockfiles, integrity verification, and the capability to trace dependencies to understand exactly what code is running and how it arrived on a system. The piece emphasizes that flat lists of installable items are insufficient for modern software development needs.

Key quotes

· 4 pulled
I spend a lot of time studying package managers, and after a while you develop an eye for things that quack like one.
The quacking that catches my ear is when something develops a dependency graph: your package depends on a package that depends on a package, and now you need resolution algorithms, lockfiles, integrity verification, and some way to answer 'what am I actually running and how did it get here?'
Plenty of tools have registries, version pinning, code that gets downloaded and executed on your behalf. But flat lists of installable things aren't very interesting.
Some tools waddle like package managers without learning to swim.
Snippet from the RSS feed
Some tools waddle like package managers without learning to swim.

You might also wanna read