我已经开始开发一个基于 Symfony 2.8 的项目,该项目已经有一段时间没有更新了。最终目标是将项目更新到 Symfony 4。
该项目包含几十个使用 Composer 的第三方包和捆绑包,我认为其中许多导入不再使用。
有没有什么方法可以自动检测项目实际使用了哪个包/捆绑包?
对于捆绑包,您可以检查
app/AppKernel.php
文件来检查项目中正在使用哪些捆绑包。
对于非捆绑包,您可以使用: https://github.com/Insolita/unused-scanner
shipmonk/composer-dependency-analysisr可以检测未使用的依赖关系。它会扫描您的整个项目并检测使用的类。然后,它会报告
require
中列出的所有包,而无需使用一次。
使用简单:
composer require --dev shipmonk/composer-dependency-analyser
composer dump-autoload --classmap-authoritative
vendor/bin/composer-dependency-analyser
它还可以检测其他问题,例如隐藏的 Composer 依赖项和错位的 Composer 依赖项,但如果您只关心未使用的 Composer 依赖项,则可以忽略这些问题。