Recently I read this presentation:
I like the terminology of global package manager versus local package manager, so I think I’ll switch to that instead of “programming language package manager” (too unwieldy).
Specifically, we want more local package managers and fewer (no) global package managers. Some existing package managers claimed to be local package managers:
- Bundler - for Ruby
- Cargo - for Rust
- Composer - for PHP
- Pub - for Dart
- Cocoapods - for Cocoa (Objective-C and Swift)
- Swift Package Manager
Note, first off, that “local” can go along with “unwieldy” - cocoapods is getting quite unwieldly, so is npm.
I also like the clear-call out that containers are solving a problem that shouldn’t exist - global dependencies. The fewer global dependencies, the fewer container strategies you need on the development side.