我最近在GitHub和Packagist上发布了我的库。当我使用 Composer 将其加载到项目中时,正在下载整个存储库以及隐藏的 .git 目录。
如何防止作曲家下载这个不必要的目录?
如果您确实需要开发版本,Composer 将克隆存储库。如果降低应用程序允许的最低稳定性,则会克隆所有可能的包。
这实际上是一件好事,因为您似乎处于开发模式,并且在初始克隆后更新这些存储库通常更快 - 您可以更轻松地编辑这些包并将更改推送回去。
我测试了您的软件包,并使用以下composer.json
将其正确下载为ZIP文件:
{
"require": {
"mikemix/zend2-auth": ">=1.0"
}
}
删除/vendor
和作曲家缓存后,它使用以下composer.json
克隆了您的存储库:
{
"require": {
"mikemix/zend2-auth": ">=1.0@dev"
}
}
更改回上述版本,但没有删除任何内容,composer update
运行仅签出了该标签,但没有下载 ZIP 文件。
因此,Composer 尝试最小化网络活动,并尝试不销毁现有存储库,因为该存储库可能在另一个分支中提交了一些有价值的代码。