Eu instalei um pacote com o compositor e ele instalou muitos outros pacotes como dependências.
Agora eu desinstalei o pacote principal com composer remove packageauthor/packagename
, mas todas as dependências antigas não foram removidas. Eu esperava que o compositor limpasse e mantivesse apenas os pacotes necessários de acordo com composer.json
e suas dependências.
Como forçar o compositor a limpar e remover todos os pacotes não utilizados?
php
composer-php
Lorenz Meyer
fonte
fonte
composer remove …
, mas esqueceu--update-with-dependencies
até encontrar essa pergunta - chamadas subseqüentes paracomposer remove
não matam todas as dependências. Você precisará reverter, compositor einstall
, em seguida,composer remove --update-with-dependencies
You are using the deprecated option "update-with-dependencies". This is now default behaviour. The --no-update-with-dependencies option can be used to remove a package without its dependencies
composer update
Polegares até este resposta a @LorenzMeyerDe fato, é muito fácil.
fará tudo isso por você, mas também atualizará os outros pacotes.
Para remover um pacote sem atualizar os outros, especifique esse pacote no comando, por exemplo:
irá remover o
monolog/monolog
pacote.No entanto, pode haver algumas pastas ou arquivos vazios que não podem ser removidos automaticamente e que precisam ser removidos manualmente.
fonte
--prune
Os seguintes comandos farão o mesmo perfeitamente
fonte
composer install
excluirá automaticamente pacotes não utilizadosBasta executar
composer install
- ele fará com que seuvendor
diretório reflita as dependências nocomposer.lock
arquivo.Em outras palavras - ele excluirá qualquer fornecedor ausente
composer.lock
.Atualize o próprio compositor antes de executar isso.
fonte