
تم إصدار Composer ، وهو مدير تبعية لـ PHP ، منذ حوالي 8 سنوات واليوم تم نشر إصدار جديد ، 2.0. تلقى Composer العديد من الميزات الجديدة على مر السنين وواكب معايير PHP. الإصدار الثاني متوافق مع المشاريع القديمة ، ولكنه سيوفر بعض الميزات الجديدة الرائعة. في هذه المقالة سوف أخبركم المزيد عنها.
التسريع والتحسين
تم إجراء تحسينات في الأداء في هذا الإصدار. الآن لا يأخذ في الاعتبار الحزم المثبتة بالفعل ، ونتيجة لذلك ، يكون التحديث أسرع بكثير. لقد قمنا أيضًا بتحسين الذاكرة والتعامل مع المعالج.
. vendor , , . .
, , , , , hirak/prestissimo, .

Composer . , Composer install/update .
, COMPOSER_DISABLE_NETWORK=1 :
COMPOSER_DISABLE_NETWORK=1 composer install. , .:
https://repo.packagist.org could not be fully loaded (Network disabled, request canceled: https://repo.packagist.org/packages.json), package information was loaded from the local cache and may be out of date, , :
The required git reference for gabrielanhaia/laravel-circuit-breaker is not in cache and network is disabled, aborting--dry-run “require” “remove”
(composer update --dry-run. , , , vendor.
Composer 2.* composer require composer remove
root
root , .
, , :
Do not run Composer as root/super user! See https://getcomposer.org/root for detailsComposer 2.* :
https://getcomposer.org/root for details
Continue as root/super user [yes]? , . , --no-interaction
composer install --no-interaction, . Composer 1.0 / . , ( ).
( ). , , packagist, .
, composer 2.x, . Composer 1.x , , , :
{
"repositories": [
{
"type": "composer",
"url": "https://example.org",
"canonical": false
}
]
}, , , , , .
, foo/bar some-vendor/ composer .:
{
"repositories": [
{
"type": "composer",
"url": "https://example.org",
"only": ["foo/bar", "some-vendor/*"]
}
]
} toy/package , , , .
{
"repositories": [
{
"type": "composer",
"url": "https://example.org",
"exclude": ["toy/package"]
}
]
} only, exclude , (*), .\
إذا كنت تريد ، لسبب ما ، تجاهل متطلبات نظام أساسي معين ، يمكنك ببساطة تشغيل الأمر: composer install --ignore-platform-req php
سيتخطى متطلبات PHP أو إصدار معين. إذا كنت ستتجاهل جميع المتطلبات ، فيجب عليك استخدام الأمر المتاح بالفعل في الإصدارات السابقة --ignore-platform-reqs
تحديثات أخرى
هناك العديد من الميزات الصغيرة الجديدة وإصلاحات الأخطاء التي حسنت قابليتها للاستخدام وجودتها. إذا كنت مهتمًا بمعرفة المزيد عنها ، فراجع ملاحظات إصدار Github .