
Composer, um gerenciador de dependências para PHP, foi lançado há cerca de 8 anos e hoje uma nova versão é publicada, 2.0. O Composer recebeu muitos recursos novos ao longo dos anos e manteve o ritmo com os padrões do PHP. A segunda versão é compatível com projetos mais antigos, mas trará mais algumas novidades excelentes. Neste artigo, contarei mais sobre eles.
Aceleração e otimização
Aprimoramentos de desempenho foram feitos nesta versão. Agora não leva em consideração os pacotes já instalados, com isso, a atualização é muito mais rápida. Também melhoramos o manuseio da memória e do processador.
. 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 , (*), .\
Se, por algum motivo, você deseja ignorar qualquer requisito específico da plataforma, pode simplesmente executar o comando: composer install --ignore-platform-req php
Ele irá ignorar o requisito de PHP ou versão específica. Se você vai ignorar todos os requisitos, você deve usar o comando já disponível nas versões anteriores --ignore-platform-reqs
Outras atualizações
Existem muitos novos pequenos recursos e correções de bugs que melhoraram sua usabilidade e qualidade. Se você estiver interessado em aprender mais sobre eles, verifique as Notas de versão do Github .