Compositeur 2: Quoi de neuf?

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 v2 est presque 2 fois plus rapide lors de l'installation de laravel / laravel sans mise en cache.
Composer v2 2 , laravel/laravel .

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 .




All Articles