私はcomposerでパッケージをインストールしました、そしてそれは依存関係として他の多くのパッケージをインストールしました。
今私はcomposer remove packageauthor/packagename
でメインパッケージをアンインストールしました、しかしすべての古い依存関係は削除されませんでした。私は作曲家がcomposer.json
とそれらの依存関係に従って必要とされるパッケージだけを片付けて保管することを期待しました。
未使用のパッケージをすべてクリーンアップして削除するように強制するにはどうすればよいですか。
これを行う正しい方法は次のとおりです。
composer remove jenssegers/mongodb --update-with-dependencies
ここでのフラグはそれが何をするのかについては明らかではありません。
composer remove jenssegers/mongodb
v1.0.0-beta2以降--update-with-dependencies
がデフォルトであり、もはや必要ではありません。
実際、それはとても簡単です。
composer update
これはすべてあなたのために行いますが、それは他のパッケージも更新します。
他のパッケージを更新せずにパッケージを削除するには、例えばそのパッケージをコマンドで指定します。
composer update monolog/monolog
monolog/monolog
パッケージを削除します。
それにもかかわらず、自動的に削除することができず、手動で削除しなければならないいくつかの空のフォルダまたはファイルが残る場合があります。
以下のコマンドは同じことを完璧にします
rm -rf vendor
composer install
composer install
を実行するだけです - それはあなたのvendor
ディレクトリがcomposer.lock
ファイルの依存関係を反映するようにします。
言い換えれば - それはcomposer.lock
に欠けているどんなベンダーでも削除します。
これを実行する前に作曲家自身を更新してください。