【问题标题】:Composer downloads entire .git repo directoryComposer 下载整个 .git repo 目录
【发布时间】:2013-11-18 19:55:12
【问题描述】:

我最近在GitHubPackagist 上发布了我的库。当我使用 Composer 将它加载到项目中时,整个 repo 以及隐藏的 .git 目录都会被下载。

如何防止 Composer 下载这个不必要的目录?

【问题讨论】:

  • 请提供指向您在 GitHub 和 Packagist 上的库的链接。可能是你的设置有问题?

标签: php git github composer-php packagist


【解决方案1】:

如果您确实需要开发版本,Composer 将克隆存储库。如果您降低应用程序允许的最低稳定性,所有可能的包都会被克隆。

这实际上是一件好事,因为您似乎处于开发模式,并且在初始克隆后更新这些存储库通常更快 - 您可以更轻松地编辑这些包并将更改推回。

我测试了你的包,它被正确下载为 ZIP 文件,带有 composer.json

{
    "require": {
        "mikemix/zend2-auth": ">=1.0"
    }
}

在删除 /vendor 和作曲家缓存后,它使用此 composer.json 克隆了您的存储库:

{
    "require": {
        "mikemix/zend2-auth": ">=1.0@dev"
    }
}

回到上面的版本,但没有删除任何东西,composer update 的运行只检查了那个标签,但没有下载 ZIP 文件。

所以 Composer 会尽量减少网络活动,并尽量不破坏现有存储库,因为该存储库可能在另一个分支中提交了一些有价值的代码。

【讨论】:

  • 这很有教育意义。谢谢。
猜你喜欢
  • 2017-01-05
  • 1970-01-01
  • 2017-06-03
  • 2021-04-11
  • 2013-05-25
  • 2019-05-10
  • 2012-10-08
相关资源
最近更新 更多