如何从composer中删除未使用的依赖项?

时间:2014-11-14 13:12:45

标签: php composer-php

我安装了一个包含composer的软件包,并且它安装了许多其他软件包作为依赖项。

现在我用composer remove packageauthor/packagename卸载了主程序包,但是没有删除所有旧的依赖项。我希望composer能够清理并只保留根据composer.json及其依赖项所需的包。

如何强制编辑器清理并删除所有未使用的包?

4 个答案:

答案 0 :(得分:319)

正确的方法是:

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

我必须承认这里的旗帜并不十分明显。它会做什么。

更新

截至v1.0.0-beta2 --update-with-dependencies是默认设置,不再需要。

答案 1 :(得分:27)

事实上,这很容易。

composer update

将为您完成所有这些工作,但它也会更新其他软件包。

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

composer update monolog/monolog

将删除monolog/monolog包。

然而,可能会有一些空文件夹或文件无法自动删除,必须手动删除。

答案 2 :(得分:13)

以下命令将完美地完成

rm -rf vendor

composer install 

答案 3 :(得分:7)

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

换句话说 - 它将删除composer.lock中缺少的任何供应商。

请在运行之前更新作曲家。