Overview

Modern software is built on a vast ecosystem of open-source libraries. Dependency management ensures that these libraries are compatible, secure, and easily updatable.

Key Concepts

  • Package Manager: Tools like npm, pip, Maven, or Go Modules that automate the installation of dependencies.
  • Lock Files: Files (e.g., package-lock.json, Gemfile.lock) that ensure every developer and environment uses the exact same versions of dependencies.
  • Transitive Dependencies: Dependencies of your dependencies.
  • Vulnerability Scanning: Automatically checking for known security flaws in libraries (e.g., using Snyk or Dependabot).

Benefits

  • Reproducibility: Ensures the project builds the same way every time.
  • Security: Helps keep libraries up to date with the latest security patches.

Related Terms