我刚刚继承了一个糟糕的作曲家项目。他们给我发送了一个带有vendor
目录的zip文件,我怀疑以前的开发人员直接在供应商内部编辑了文件。
有没有一种方法可以“验证”供应商文件夹以确保其中的文件未被修改?
答案 0 :(得分:2)
将项目复制到其他文件夹中,然后删除供应商目录。运行composer install并比较两个供应商文件。
答案 1 :(得分:1)
将旧的vendor
的名称更改为其他名称。
再次执行composer install
。
运行diff
来比较两个目录。
例如对于一个示例项目,我有意在vendor
内部修改了一个文件。
$ mv vendor vendor_old
$ composer install
### install output...
$ diff -rq vendor vendor_old
Files vendor/autoload.php and vendor_old/autoload.php differ
Files vendor/composer/autoload_files.php and vendor_old/composer/autoload_files.php differ
Files vendor/composer/autoload_real.php and vendor_old/composer/autoload_real.php differ
Files vendor/composer/autoload_static.php and vendor_old/composer/autoload_static.php differ
Files vendor/symfony/console/Terminal.php and vendor_old/symfony/console/Terminal.php differ
您几乎可以忽略对autoload*
文件的更改,但是通过此清单,您可以专注于报告差异的其他文件(并从中运行更详尽的diff
)。
在此示例中,实际上仅修改了vendor/symfony/console/Terminal.php
。