总结:composer从composer.json中没有提到的repo安装包,只是因为另一个项目有关于这个repo的信息。
什么有效:
先决条件:composer clearcache
我有一个项目A使用本地路径回购与url" ../ myPackages。 a / *"。如果我composer up
一切都从文件夹测试中正确符号链接。
在同一系统上,我有一个项目B使用本地路径仓库,其中包含url" ../ myPackages。 b / *"。如果我composer up
一切都从该文件夹中正确符号链接。
myPackages.a和myPackages.b提供相同的软件包,而myPackages.b提供了一些较新的版本。
为了更容易识别问题,软件包的版本要求是" * @ dev"。
什么不能按预期工作:
如果我composer up
再次投影A,它会突然从myPackages中获取较新版本。 b ,虽然项目A composer.json
不知道此回购。
问题:如何防止这种情况发生,即每个项目都坚持其composer.json中提到的回购
当然我可以在composer clearcache
之前每次composer up
,但是阻止缓存似乎不是正确的解决方案。
我无法在文档中找到一些参数composer --stick-to-default-repos-and-those-mentioned-in-composerjson
- 但我不明白为什么不应该是默认情况。
有人可以指出我遗漏的一些文档部分,解释了这种行为还是指向某种解决方案?