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 میتواند نتیجه غیرتکرارپذیر تولید کند.