如何从作曲家中删除未使用的依赖项


How to remove unused dependencies from 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中缺少的任何供应商。

请在运行此文件之前更新作曲家本身。