Package Manager ابزار نصب، به‌روزرسانی و مدیریت کتابخانه‌ها و وابستگی‌های یک پروژه است. Composer برای PHP، npm برای JavaScript و pip برای Python مثال‌های شناخته‌شده‌اند.

در پروژه چه کاربردی دارد؟

این ابزارها نسخه‌ها را حل می‌کنند و معمولاً امکان تکرار نصب با استفاده از Lock File را فراهم می‌سازند.

نمونه کد

composer install
npm ci
python -m pip install -r requirements.txt

نصب نسخه نامطمئن می‌تواند مشکل امنیتی ایجاد کند. Pin کردن نسخه‌ها و اسکن وابستگی‌ها در فرایند CI/CD اهمیت دارد.

Package Manager و Lockfile

ابزارهایی مثل Composer، npm و pip بسته‌ها را نصب می‌کنند، اما نحوه Lockfile و حل وابستگی در هر ابزار متفاوت است. نصب بدون قفل نسخه در CI می‌تواند نتیجه غیرتکرارپذیر تولید کند.