我有一个用Composer生成的项目,它依赖于PHPUnit。现在我有
-
dir1
-> PHPUnit 的东西 -
dir2
->项目的东西
如果我进入项目目录并运行 PHPUnit,它会抱怨加载ClassLoader.php
两次:
- PHPUnit 在
vendors/autoload.php
中需要它 - 应用程序代码(引导程序)需要它
如何解决这种双重包含?
确保您正在运行使用 Composer 安装的 PHPUnit 副本,该副本应vendor/bin/phpunit
。有关示例,请参阅此 github 存储库中README.md
的 composer.json
、tests/composer.json
和"测试"部分:https://github.com/phergie/phergie-irc-parser
从某个作曲家版本[需要引用]开始,类加载器被"命名空间"为长名称,从而使更多基于作曲家的项目能够协同工作,从那一刻起这不是问题。