Saya menginstal paket dengan komposer, dan menginstal banyak paket lain sebagai dependensi.
Sekarang saya menghapus paket utama composer remove packageauthor/packagename
, tetapi semua dependensi lama tidak dihapus. Saya berharap komposer untuk membersihkan dan hanya menyimpan paket yang diperlukan sesuai dengan composer.json
dan ketergantungannya.
Bagaimana saya bisa memaksa komposer untuk membersihkan dan menghapus semua paket yang tidak digunakan?
php
composer-php
Lorenz Meyer
sumber
sumber
composer remove …
, tetapi lupa--update-with-dependencies
sampai Anda menemukan pertanyaan ini - panggilan selanjutnya untukcomposer remove
tidak akan membunuh semua dependensi. Anda harus kembali, komposerinstall
, kemudiancomposer 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
Jempol ke jawaban ini untuk @LorenzMeyerPadahal, itu sangat mudah.
akan melakukan semua ini untuk Anda, tetapi itu juga akan memperbarui paket lain.
Untuk menghapus paket tanpa memperbarui yang lain, tentukan paket itu dalam perintah, misalnya:
akan menghapus
monolog/monolog
paket.Namun demikian, mungkin ada beberapa folder atau file kosong yang tidak dapat dihapus secara otomatis, dan yang harus dihapus secara manual.
sumber
--prune
perintah berikut akan melakukan hal yang sama dengan sempurna
sumber
composer install
akan secara otomatis menghapus paketJalankan saja
composer install
- itu akan membuatvendor
direktori Anda mencerminkan dependensi dalamcomposer.lock
file.Dengan kata lain - itu akan menghapus semua vendor yang hilang
composer.lock
.Harap perbarui komposer itu sendiri sebelum menjalankan ini.
sumber