【问题标题】:How can I speed up composer installs?如何加快作曲家的安装速度?
【发布时间】:2015-03-15 05:25:03
【问题描述】:

我们必须使用 GitHub 上的 VCS 存储库将数百个包迁移到 composer,我注意到即使在根服务器上它也非常慢,使用具有 20 到 30 多个包的普通应用程序。在家用机器上,情况更糟。事实上,它使工作变得非常乏味,并且在某种程度上是不可接受的。

是否有任何改进可以加快速度? Zip 或 packagist 也不是我们的选择。

【问题讨论】:

  • 您使用的是composer install 还是composer update
  • 如果composer install 和有效的composer.lock 文件超慢,则问题不在于 Composer。
  • 是的,删除锁定文件会导致安装缓慢。 composer install 使用锁定文件来加快安装速度。
  • 我永远不会在生产环境中使用composer update。它将安装最新版本的软件包,这可能会破坏您的生产环境,因为您之前没有测试过它们。始终首先在您的开发机器上使用composer update,对其进行测试,如果所有测试都有效,请将composer.lock 部署到您的生产环境并在那里运行composer install。现在,composer 会完全安装您之前测试过的版本,即使有更新(但未经测试)的版本。
  • OP:来自the edit history - 看起来你正试图删除这个问题。与legal T&Cs you sign up to 相比,它可能会继续被撤销:“您同意,您为网络贡献的所有订阅者内容都根据知识共享署名相同方式共享许可永久且不可撤销地授权给 Stack Exchange。”我不为该网站工作,但如果您有特殊原因要删除 - 可能值得联系询问Contact us

标签: php composer-php


【解决方案1】:

确保您的composer.lock 文件在版本控制中并且在您的主项目中对于使composer install 快速运行至关重要。它包含 Composer 用来加速安装过程的软件包列表和相关信息(包括特定版本)。

更多详情请参阅https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file

【讨论】:

    【解决方案2】:

    我会尝试两件事

    1) 使用详细选项 -v 查看需要这么长时间。这可能是您的互联网带宽或延迟,或其他令人惊讶的东西。

    2) 使用 --no-dev 和 --prefer-dist 选项来防止作曲家考虑您未在生产中使用的版本。

    第三 :) 您可以在某处运行定期后台作曲家更新,以使缓存保持最新。所以至少你的安装会快一点。

    (Ps。我确定有 -v -vv 和 -vvv 来表示详细程度,但我现在在文档中看不到这一点……我认为只有第二级才能为您提供下载速度。)

    【讨论】:

      【解决方案3】:

      更新: 现在有了Composer v2+,您不再需要 Prestissimo。使用这个新版本,您可以获得更好(难以置信)的速度。


      使用 Prestissimo(仅 Composer v1-)

      Prestissimo 是一个全局 Composer 插件,可以并行安装依赖项。快疯了。值得注意的是 Prestissimo 需要 cURL,它在某些防火墙或代理后可能无法工作。我个人没有遇到任何问题。

      【讨论】:

      • npm install 也有这样的包吗?
      • 没错,就是叫ied。谷歌一下。
      • @Justin Facebook 发布了一个名为 yarn code.facebook.com/posts/1840075619545360的新包
      • 更新:在我的 ssd 测试中,NPM 5 比 yarn 更快
      • 我在很多个月前就开始使用这个了。这是一个巨大的进步,但它并不“快”。有什么新进展吗?
      猜你喜欢
      • 2014-01-29
      • 2013-05-26
      • 2018-10-21
      • 2016-08-14
      • 2014-03-04
      • 2016-07-23
      • 1970-01-01
      • 2017-03-13
      • 2021-08-07
      相关资源
      最近更新 更多