Composer, un gestionnaire de dépendances pour PHP, a été publié il y a environ 8 ans et aujourd'hui une nouvelle version est publiée, 2.0. Composer a reçu de nombreuses nouvelles fonctionnalités au fil des ans et a suivi le rythme des normes PHP. La deuxième version est compatible avec les projets plus anciens, mais apportera de nouvelles fonctionnalités encore plus intéressantes. Dans cet article, je vais vous en dire plus à leur sujet.
Accélération et optimisation
Des améliorations de performances ont été apportées dans cette version. Maintenant, il ne prend pas en compte les packages déjà installés, par conséquent, la mise à jour est beaucoup plus rapide. Nous avons également amélioré le travail avec la mémoire et le processeur.
. 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 details
Composer 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
, (*), .\
Si, pour une raison quelconque, vous souhaitez ignorer une exigence de plate-forme spécifique, vous pouvez simplement exécuter la commande: composer install --ignore-platform-req php
Il ignorera l'exigence de PHP ou d'une version spécifique. Si vous voulez ignorer toutes les exigences, vous devez utiliser la commande déjà disponible dans les versions précédentes --ignore-platform-reqs
Autres mises à jour
Il existe de nombreuses nouvelles petites fonctionnalités et corrections de bogues qui ont amélioré sa convivialité et sa qualité. Si vous souhaitez en savoir plus à leur sujet, consultez les notes de publication de Github .