我用composer安装了一个包,它作为依赖项安装了许多其他包。
现在我用composer remove packageauthor/packagename卸载了主包,但所有旧的依赖项都没有删除。我原以为作曲者会清理干净,只保留作曲者要求的包。Json和它们的依赖关系。
如何强制编写器清理并删除所有未使用的包?
我用composer安装了一个包,它作为依赖项安装了许多其他包。
现在我用composer remove packageauthor/packagename卸载了主包,但所有旧的依赖项都没有删除。我原以为作曲者会清理干净,只保留作曲者要求的包。Json和它们的依赖关系。
如何强制编写器清理并删除所有未使用的包?
当前回答
下面的命令可以很好地做到这一点
rm -rf vendor
composer install
其他回答
事实上,这很简单。
composer update
将为您完成所有这些,但它也将更新其他包。
要删除一个包而不更新其他包,请在命令中指定该包,例如:
composer update monolog/monolog
将删除独白/独白包。
尽管如此,仍然可能存在一些不能自动删除的空文件夹或文件,而必须手动删除。
下面的命令可以很好地做到这一点
rm -rf vendor
composer install
正确的做法是:
composer remove jenssegers/mongodb --update-with-dependencies
我必须承认,旗帜在这里不是很明显,因为它将做什么。
更新
composer remove jenssegers/mongodb
从v1.0.0-beta2开始——update-with-dependencies是默认值,不再需要。
只需运行composer install -它将使您的供应商目录反映composer中的依赖项。锁文件。
换句话说,它将删除composer.lock中缺少的任何供应商。
在运行之前,请更新编写器本身。