如何从composer php中删除未使用的依赖关系?

我用composer安装了一个软件包,并安装了许多其他的软件包作为依赖关系。

现在我用composer remove packageauthor/packagename卸载了主软件包, composer remove packageauthor/packagename ,但是所有旧的依赖关系都没有被删除。 我希望composer php清理,只保留根据composer.json和他们的依赖所需的包。

我如何强制composer php清理和删除所有未使用的软件包?

正确的做法是:

 composer remove jenssegers/mongodb --update-with-dependencies 

我必须承认,这里的国旗不是很明显,它会做什么。

更新

从v1.0.0-beta2开始 --update-with-dependencies是默认的,不再需要。

其实这很简单。

 composer update 

将为你做这一切,但它也会更新其他包。

要删除软件包而不更新其他软件包,请在命令中指定该软件包,例如:

 composer update monolog/monolog 

将删除monolog/monolog包。

尽pipe如此,可能仍然有一些空的文件夹或文件不能自动删除,而且必须手动删除。

只需运行composer install – 它将使您的vendor目录反映在composer.lock文件中的依赖关系。

换句话说,它将删除composer.lock缺less的任何供应商。

在执行此操作之前,请更新composer php本身。