如何从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本身。