Tool hierarchy (SW development)
Programmers write code, and that code inevitably uses code libraries (or packages containing some kind of functionality or information) that other programmers have written.
Package managers install packages and make sure that incompatible packages are not installed.
-
Programs use libraries/packages.
-
Programming languages each have their own package manager.
-
A package manager downloads and installs packages for your project.
-
There are different package managers for the same programming platform (npm, pnpm, yarn).
-
-
A platform can have a version manager, which lets your local computer swap versions of the platform (compiler/interpreter and packages) to match the project you are looking at.
-
A package manager manager like Corepack manages which package manager is being used in your project, automatically, by checking the project’s settings files. This tool is for when a project team needs to make sure all new programmers in the team use the same package manager as the original coder. The package manager manager may be included during the platform installation process.
-
program < package < package manager < package manager manager
-
Example: myapp < ai < pnpm < Corepack
-
More docs: Why use Corepack