【问题标题】:Why is PHP Composer so slow?为什么 PHP Composer 这么慢?
【发布时间】:2021-06-26 16:19:34
【问题描述】:

当我所做的只是初始化一个零依赖项的项目时,为什么PHP Composer 这么慢?以下是我运行的命令:

composer init

composer install

等待 3 分钟(并不夸张)。

所有作曲家所要做的就是拉入一个自动加载器并创建/vendor,那么为什么需要这么长时间呢?就此而言,为什么composer init 上没有这一步?

是否有一个配置选项可用于在init 上拉入缓存的自动加载器和供应商?

【问题讨论】:

  • 更严重的是:您在过去 30 天内是否更新了您的作曲家?就在上个月,代码的性能有了重大改进
  • 我在 5 多分钟前开始compose install,但尚未完成。 Composer version 1.0-dev (07c644ac229a21df80180598d8bb9aaba232eecb) 2015-02-03 12:51:10。也许它不是最新版本,但仍然比您的 IBM 大型机更新 ;-)
  • 请确认您已完成composer self-update
  • 我有,上周更新了。
  • 我为作曲家更新和作曲家自我更新非常缓慢而苦苦挣扎。花费超过 15 分钟,然后抛出异常。我更改了我的路由器 DNS 服务器(从 Google 的到我的 ISP 自己的),作曲家的工作就像一个魅力。

标签: php composer-php


【解决方案1】:

因为 Composer 是由 file_get_contents() 实现的。没有 TCP 优化、没有 Keep-Alive、没有多路复用等。

我创建了一个 Composer 插件来并行下载包:https://packagist.org/packages/hirak/prestissimo

$ composer global 需要 hirak/prestissimo

请试一试。在我的环境中,composer install 的速度提高了 10 倍。

【讨论】:

  • 哇,我从安装一个新的 laravel 项目的 124 秒缩短到了 21 秒。喜欢它!
  • 好消息:这显然已于 2019 年 1 月合并到 Composer 2 中:github.com/composer/composer/pull/7904
  • @ChuckLeButt 但释放仍然看不见:(
  • 谢谢兄弟。它快 20 倍。
【解决方案2】:
  1. 确保您拥有最新版本的 Composer。
  2. 通过添加 -vvv 以详细模式安装,例如 composer global require "squizlabs/php_codesniffer=*" -vvv
  3. 如果您能够找出 Composer 遇到缓慢的地方,例如我在下载软件包时卡住了 5 分钟。在 50 Mbit/s 的连接上下载一个 20 kB 的文件需要 5 分钟以上的时间。这是因为它使用 HTTP 而不是 HTTPS 从 packagegist 下载包。对配置进行这些更改解决了我的问题: composer config --global repo.packagist composer https://packagist.org

【讨论】:

  • 我是作曲家的新手,并尝试修复此问题 2 天,在阅读您的评论并添加 -vvv 后,终于成功了。 1000 个赞
  • #3 为我解决了这个问题。你现在是我的英雄。很长一段时间以来一直担心为什么它这么慢并且只能在某些互联网连接上工作。谢谢!
  • composer config --global repo.packagist composer https://packagist.org 那是什么!惊人的! ?
【解决方案3】:

另外,禁用Xdebug。即使运行像composer --version 这样简单的命令,Xdebug 也会导致 Composer 花费几分钟。

【讨论】:

  • 这实际上是我的问题。 Xdebug 让 composer 运行速度超慢。
  • 请尝试使用hirak/prestissimo。它是一个作曲家插件,可帮助您快速下载包。 link
  • 在撰写本文时,无论是否有调试,我都有相同的性能,因为在 2020/2019 年,composer 在运行时自动禁用了 xdebug,尽管安装 yii2-starter-kit 大约需要 200 秒所有库都带有 xdebug,所以这个回复已经过时了
  • 看到这个,调出我的调试器。发现即使 xdebug 仅配置为 FPM,CLI 已启动它,并且我的 IDE 正坐在断点处等待我。点击继续,作曲家又踢回来了。
【解决方案4】:

这里也一样。使用“composer install --profile -vvv”获取更多详细信息。就我而言,下载一些 JSON 文件需要很长时间。它们被缓存在我的服务器上,但仍会在每次 Composer 更新/安装调用时下载。

... 30 分钟后...

看起来像@packagist.org 的一些性能问题。现在 Composer 安装在 2 秒内运行!并且下载的 JSON 文件被正确缓存。

【讨论】:

  • “它们被缓存在我的服务器上,但仍然会在每次作曲家更新/安装调用时下载”这个!!你找到解决这个问题的方法了吗?我的连接速度很慢,看到这种情况很糟糕。
【解决方案5】:

我遇到了这个问题,因为我没有在我的机器上的任何地方安装 Xdebug,所以它让我陷入了困境。原来是IPv6寻址模式失败。所以为了测试我跑了

curl --ipv4 'https://packagist.org/packages.json'
curl --ipv6 'https://packagist.org/packages.json'

IPv4 通过,但 IPv6 失败。最后,您应该找出为什么您的网络堆栈不支持它,但在我的情况下,我决定只优先考虑 IPv4 流量,直到我能解决这个问题。在CentOS 我创建/修改了文件 /etc/gai.conf 并输入以下内容:

label       ::1/128        0
label       ::/0           1
label       2002::/16      2
label       ::/96          3
label       ::ffff:0:0/96  4
precedence  ::1/128        50
precedence  ::/0           40
precedence  2002::/16      30
precedence  ::/96          20
precedence  ::ffff:0:0/96  100

在 Ubuntu 上,您还可以编辑该文件并取消注释该行

precedence ::ffff:0:0/96  100

Source on Rackspace Community Hub

【讨论】:

  • 只是为了说明,这似乎对我个人没有帮助,尽管我必须重新模拟它以确认所有选项,其中可能是原因。
  • @FentomX1 很抱歉听到这个消息。这就是为什么我将测试放在首位的原因。如果您同时进行 curl 测试并且它正在连接,那么显然不应进行更改,因为您的网络设置正确。
  • 找到一个简短的 YouTube 视频,展示如何在 Windows 10 上执行此操作。它解决了我的问题。 youtube.com/watch?v=63Lt_vlNWLc
【解决方案6】:

在 Ubuntu Xenial 16.04 VPS 上,您需要执行以下操作:

sudo sh -c "echo 'precedence ::ffff:0:0/96 100' >> /etc/gai.conf"
composer global require hirak/prestissimo

它将 IPv4 配置为优先于 IPv6。

https://serverfault.com/questions/93717/setting-ipv4-as-preferred-protocol-over-ipv6

【讨论】:

  • 自从我安装了 prestissimo,我的作曲速度一直非常好。
  • 我可以确认这个解决方案甚至适用于 ubuntu 18.04LTS
  • 请在您的答案中添加一些解释,以便其他人可以从中学习。第一行是做什么的?
  • @NicoHaase 如果您查看时间戳,这个答案实际上是对我描述的问题的回应,但他们没有将其作为评论。无论如何,我将它纳入我的答案。似乎packagist 更喜欢使用IPV6,但有些网络仍然不能很好地使用它。第一行是为了让您的 Linux 机器更喜欢 IPv4 地址并首先查找这些地址。
【解决方案7】:

就我而言,我运行的作曲家版本是回溯的。 更新作曲家版本本身后,问题就消失了。

更新作曲家版本运行

composer self-update

然后需要 composer 包,你就完成了。

composer require "<package-name>"

【讨论】:

  • 须藤?根 ?为什么?
  • 对不起兄弟,如果您有权限问题,请添加 sudo。
  • 或者你应该修复文件模式和所有者/组权限?而不仅仅是运行 SUDO!不知道那是什么意思?绝对不是 FIX。
  • 当然,您可以通过运行“chown”命令修复所有者/组权限问题,但您可以一次性完成。我的主要意图是从我的角度以最简单的方式展示解决方案。但是,如果我的话对您没有任何意义,我很抱歉。
  • @sh6210 在使用 composer 时不要鼓励使用 sudo。假设存在“可能”permission 问题是偏见。
【解决方案8】:

编辑: 结论:这里没有列出任何解决方案,或者通常似乎是防弹的。 最终有帮助的通常是增量使用作曲家,使用composer requirecomposer remove 命令一次只需要或删除一个包,还涉及添加任何“非依赖特定”设置,可以添加/删除任何库为了更新/刷新 composer.json 锁缓存配置。

将我的经验与来自此处和相关链接的答案进行分组。

在此之前,我尝试了这个问题中提到的每一个解决方案。但是,它仍然对我没有帮助,尽管我尝试/注意到安装任何其他单个库都相当快,所以我继续一个一个地调查可能导致瓶颈的库。

1) 是的 我发现它是代码欺骗,"codeception/codeception": "2.4.0",

单独运行它几乎需要 200 秒,尽管与其他库一起运行它有时似乎运行了将近 12 分钟。此外,composer 在启动 20 秒后似乎没有反映实时,它输出它运行 0.35 秒,依此类推。

[374.9MiB/173.14s]     39/45:   https://codeload.github.com/sebastianbergmann/php-text-template/legacy.zip/31f8b717e51d9a2afca6c9f046f5d69fc27c8686
[374.9MiB/173.16s]     40/45:   https://codeload.github.com/sebastianbergmann/diff/legacy.zip/720fcc7e9b5cf384ea68d9d930d480907a0c1a29
[374.9MiB/173.17s]     41/45:   https://codeload.github.com/sebastianbergmann/exporter/legacy.zip/68609e1261d215ea5b21b7987539cbfbe156ec3e
[374.9MiB/173.19s]     42/45:   https://codeload.github.com/sebastianbergmann/phpunit-mock-objects/legacy.zip/f9756fd4f43f014cb2dca98deeaaa8ce5500a36e
[374.9MiB/173.20s]     43/45:   https://codeload.github.com/sebastianbergmann/recursion-context/legacy.zip/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8
[374.9MiB/173.23s]     44/45:   https://codeload.github.com/sebastianbergmann/php-code-coverage/legacy.zip/4cab20a326d14de7575a8e235c70d879b569a57a
[374.9MiB/173.24s]     45/45:   https://codeload.github.com/doctrine/instantiator/legacy.zip/ae466f726242e637cebdd526a7d991b9433bacf1
[374.9MiB/173.24s]     Finished: success: 45, skipped: 0, failure: 0, total: 45
[374.8MiB/173.25s] Analyzed 6622 packages to resolve dependencies
[374.8MiB/173.25s] Analyzed 435842 rules to resolve dependencies
[374.8MiB/173.25s] Package operations: 54 installs, 0 updates, 0 removals
[374.8MiB/173.26s] Installs: sebastian/recursion-context:3.0.0, sebastian/exporter:3.1.2, doctrine/instantiator:1.3.0, phpunit/php-text-template:1.2.1, phpunit/phpunit-mock-objects:6.1.2, codeception/stub:1.0.4, sebastian/diff:3.0.2, sebastian/comparator:3.0.2, theseer/tokenizer:1.1.3, sebastian/version:2.0.1, sebastian/environment:3.1.0, sebastian/code-unit-reverse-lookup:1.0.1, phpunit/php-token-stream:3.1.1, phpunit/php-file-iterator:1.4.5, phpunit/php-code-coverage:6.0.5, sebastian/object-reflector:1.1.1, sebastian/object-enumerator:3.0.3, sebastian/global-state:2.0.0, phpunit/php-timer:2.1.2, symfony/polyfill-ctype:v1.17.0, webmozart/assert:1.8.0, phpdocumentor/reflection-common:2.1.0, phpdocumentor/type-resolver:1.1.0, phpdocumentor/reflection-docblock:5.1.0, phpspec/prophecy:v1.10.3, myclabs/deep-copy:1.9.5, sebastian/resource-operations:1.0.0, phar-io/version:1.0.1, phar-io/manifest:1.0.1, phpunit/phpunit:7.1.5, codeception/phpunit-wrapper:7.6.1, symfony/yaml:v4.4.8, behat/gherkin:v4.6.2, symfony/polyfill-mbstring:v1.17.0, symfony/dom-crawler:v4.4.8, symfony/css-selector:v4.4.8, symfony/browser-kit:v4.4.8, symfony/event-dispatcher-contracts:v1.1.7, psr/container:1.0.0, symfony/event-dispatcher:v4.4.8, symfony/service-contracts:v2.0.1, symfony/polyfill-php73:v1.17.0, symfony/console:v4.4.8, symfony/finder:v4.4.8, ralouphie/getallheaders:3.0.3, psr/http-message:1.0.1, guzzlehttp/psr7:1.6.1, guzzlehttp/promises:v1.3.1, symfony/polyfill-php72:v1.17.0, symfony/polyfill-intl-idn:v1.17.0, guzzlehttp/guzzle:6.5.3, symfony/process:v4.4.8, facebook/webdriver:1.7.1, codeception/codeception:2.4.0
[374.8MiB/173.28s]   - Installing sebastian/recursion-context (3.0.0): [374.9MiB/173.28s] Loading from cache[374.9MiB/173.28s]
[374.9MiB/173.28s]  Extracting archive[374.9MiB/173.51s]   - Installing sebastian/exporter (3.1.2): [374.9MiB/173.52s] Loading from cache[374.9MiB/173.52s]
[374.9MiB/173.52s]  Extracting archive[374.9MiB/173.75s]   - Installing doctrine/instantiator (1.3.0): [374.9MiB/173.76s] Loading from cache[374.9MiB/173.76s]
[374.9MiB/173.76s]  Extracting archive[374.9MiB/174.00s]   - Installing phpunit/php-text-template (1.2.1): [374.9MiB/174.00s] Loading from cache[374.9MiB/174.00s]
[374.9MiB/174.00s]  Extracting archive[374.9MiB/174.23s]   - Installing phpunit/phpunit-mock-objects (6.1.2): [374.9MiB/174.23s] Loading from cache[374.9MiB/174.23s]
[374.9MiB/174.23s]  Extracting archive[374.9MiB/174.55s]   - Installing codeception/stub (1.0.4): [374.9MiB/174.56s] Loading from cache[374.9MiB/174.56s]
[374.9MiB/174.56s]  Extracting archive[374.9MiB/174.80s]   - Installing sebastian/diff (3.0.2): [374.9MiB/174.80s] Loading from cache[374.9MiB/174.80s]
[374.9MiB/174.80s]  Extracting archive[374.9MiB/175.07s]   - Installing sebastian/comparator (3.0.2): [374.9MiB/175.07s] Loading from cache[374.9MiB/175.07s]
[374.9MiB/175.07s]  Extracting archive[374.9MiB/175.33s]   - Installing theseer/tokenizer (1.1.3): [374.9MiB/175.33s] Loading from cache[374.9MiB/175.33s]

之前的运行

 Problem 1
    - Installation request for codeception/codeception 2.4.0 -> satisfiable by codeception/codeception[2.4.0].
    - Conclusion: remove symfony/finder v5.0.8
    - Conclusion: don't install symfony/finder v5.0.8
    - codeception/codeception 2.4.0 requires symfony/finder >=2.7 <5.0 -> satisfiable by symfony/finder[v2.7.0, v2.7.1, v2.7.10, v2.7.11, v2.7.12, v2.7.13, v2.7.14, v2.7.15, v2.7.16, v2.7.17, v2.7.18, v2.7.19, v2.7.2, v2.7.20, v2.7.21, v2.7.22, v2.7.23, v2.7.24, v2.7.25, v2.7.26, v2.7.27, v2.7.28, v2.7.29, v2.7.3, v2.7.30, v2.7.31, v2.7.32, v2.7.33, v2.7.34, v2.7.35, v2.7.36, v2.7.37, v2.7.38, v2.7.39, v2.7.4, v2.7.40, v2.7.41, v2.7.42, v2.7.43, v2.7.44, v2.7.45, v2.7.46, v2.7.47, v2.7.48, v2.7.49, v2.7.5, v2.7.50, v2.7.51, v2.7.6, v2.7.7, v2.7.8, v2.7.9, v2.8.0, v2.8.1, v2.8.10, v2.8.11, v2.8.12, v2.8.13, v2.8.14, v2.8.15, v2.8.16, v2.8.17, v2.8.18, v2.8.19, v2.8.2, v2.8.20, v2.8.21, v2.8.22, v2.8.23, v2.8.24, v2.8.25, v2.8.26, v2.8.27, v2.8.28, v2.8.29, v2.8.3, v2.8.30, v2.8.31, v2.8.32, v2.8.33, v2.8.34, v2.8.35, v2.8.36, v2.8.37, v2.8.38, v2.8.39, v2.8.4, v2.8.40, v2.8.41, v2.8.42, v2.8.43, v2.8.44, v2.8.45, v2.8.46, v2.8.47, v2.8.48, v2.8.49, v2.8.5, v2.8.50, v2.8.52, v2.8.6, v2.8.7, v2.8.8, v2.8.9, v3.0.0, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.0.8, v3.0.9, v3.1.0, v3.1.1, v3.1.10, v3.1.2, v3.1.3, v3.1.4, v3.1.5, v3.1.6, v3.1.7, v3.1.8, v3.1.9, v3.2.0, v3.2.1, v3.2.10, v3.2.11, v3.2.12, v3.2.13, v3.2.14, v3.2.2, v3.2.3, v3.2.4, v3.2.5, v3.2.6, v3.2.7, v3.2.8, v3.2.9, v3.3.0, v3.3.1, v3.3.10, v3.3.11, v3.3.12, v3.3.13, v3.3.14, v3.3.15, v3.3.16, v3.3.17, v3.3.18, v3.3.2, v3.3.3, v3.3.4, v3.3.5, v3.3.6, v3.3.7, v3.3.8, v3.3.9, v3.4.0, v3.4.1, v3.4.10, v3.4.11, v3.4.12, v3.4.13, v3.4.14, v3.4.15, v3.4.16, v3.4.17, v3.4.18, v3.4.19, v3.4.2, v3.4.20, v3.4.21, v3.4.22, v3.4.23, v3.4.24, v3.4.25, v3.4.26, v3.4.27, v3.4.28, v3.4.29, v3.4.3, v3.4.30, v3.4.31, v3.4.32, v3.4.33, v3.4.34, v3.4.35, v3.4.36, v3.4.37, v3.4.38, v3.4.39, v3.4.4, v3.4.40, v3.4.5, v3.4.6, v3.4.7, v3.4.8, v3.4.9, v4.0.0, v4.0.1, v4.0.10, v4.0.11, v4.0.12, v4.0.13, v4.0.14, v4.0.15, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.0, v4.2.1, v4.2.10, v4.2.11, v4.2.12, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9, v4.3.0, v4.3.1, v4.3.10, v4.3.11, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.4.0, v4.4.1, v4.4.2, v4.4.3, v4.4.4, v4.4.5, v4.4.6, v4.4.7, v4.4.8].
    - Can only install one of: symfony/finder[v2.7.0, v5.0.8].
    - Can only install one of: symfony/finder[v2.7.1, v5.0.8].
    - Can only install one of: symfony/finder[v2.7.10, v5.0.8].
    - Can only install one of: symfony/finder[v2.7.11, v5.0.8].

2) 是的 顺便说一句,我提到的 prestissimo 已经被应用了,它似乎有帮助,因为在另一台速度非常快的计算机上,它的互联网速度更快,没有密码接收,安装时间增加了 5 倍,518秒,虽然可能是由于 prestissimo 或这里的其他建议,花了 110 秒。

composer global require hirak/prestissimo

3) 是 Windows 很慢,从 Windows 到 Linux 的虚拟化文件夹也是如此。 在 Linux 内部的共享文件夹之外运行似乎加快了大约两倍。 虽然它可能是由于缓存。

4) 否

    "process-timeout": 1800,

是像 git checkout 这样的单个进程,即使设置为 10 秒似乎也没有任何帮助,因为它已经相当大了。它可能仅在某些服务完全中断时才有帮助。

5) 是在删除供应商文件夹或 empty=freshly 的情况下安装似乎比添加到供应商文件和其中存在的其他包要快得多(大约 1 分钟或更长时间) p>

6) YES 在没有 xdebug 自己的图像的 Ubuntu18 apache2 上似乎比在 Debian10 php-fpm 上慢,即使在 Yii2-starter-kit 上使用 xdebug,由于某种原因慢了两倍,@987654330 @找出Linux发行版

7) 否 php -ddefault_socket_timeout=1 /usr/local/bin/composer --verbose --profile install 这里提到的似乎没有帮助 Slow updating of composer dependencies, despite --prefer-dist flag 也没有提到 IP v6 v v4 协议 虽然它可能是由于缓存。

8) 否 安装 zip 似乎没有帮助,PHP 安装已经预装了 zip,它仍然抱怨直到作为 Linux 包安装之前不存在,但它使单个模拟中的过程变慢了100 秒从 650 秒到 750 秒。相同的环境条件。 As there is no 'unzip' command installed zip files are being unpacked using the PHP zip extension https://stackoverflow.com/a/51208804/3419535 测试无缓存条件--no-cache

9) 是删除"minimum-stability ": "dev",

10) YES 使用prefer-dist composer require robmorgan/phinx:@dev --prefer-dist -vvv --profile(使用require 命令作为示例,就像使用上面首先提到的部分require 命令一样,而不是通过安装命令进行完整安装,似乎是最显着的加速之一,加上之前的要求@dev- 当minimum-stability: dev 没有普遍应用于所有依赖项似乎是无害的,在每个案例(依赖项)的基础上使用)

【讨论】:

  • 这与给定问题有什么关系?根据问题描述,OPs问题中没有列出单个依赖项
  • 这个问题应该笼统地解决,我试图总结所有对我有帮助的东西,并从其他地方添加了一些其他解决方案。并不总是只针对提问者的要求,这里有成千上万的其他用户场景。大多数反应是通用的。 Composer require 基本上只是 composer install 的一个子部分。仅仅因为我在响应中还使用了一个词/命令“要求”,并不意味着它也不适用于安装,但如果您希望我可以删除该词。“没有列出单个依赖项”,而是如何改变任何东西,composer install 只不过是依赖关系。
  • 几分钟后我从 1 点变为 -1 点,因为我回复了你,也许是因为你之前投票支持我。告诉我选择的答案 prestistimo 或使用 ipv 6 或禁用 xdebug 也不是通用的,也不适用于具体的 composer require 命令。我为一些匆忙的编辑道歉,但我也将它用作个人 wiki,我什至没有列出具体的依赖名称,但会调整它。如果您不喜欢我打错字,请提及,但不是通用的没有意义。我使用 'require' 命令作为参考,因为使用 'require' 本身就是解决方案之一。
  • OP 询问为什么 Composer 很慢零依赖性 - 即使您的清单可能在许多其他情况下有所帮助,我认为与给定问题没有任何联系
  • Prestissimo 即使需要空的需求列表也有帮助 - 一些文件由作曲家下载而不考虑依赖项列表,因此并行下载在这里也有帮助。
【解决方案9】:

如果前面的任何答案都不起作用,请检查您的防火墙是否允许端口 9418 上的 TCP_OUT。

我的防火墙安全性太强了。这导致 Composer 花费了很长时间,我从来没有收到任何超时或端口被阻塞的指示。

【讨论】:

    【解决方案10】:

    由于防病毒软件,我下载 json 文件时速度很慢。一些防病毒软件会扫描所有网络流量,分析 json 文件可能会很慢。尝试在运行 composer 时禁用您的 AV。

    【讨论】:

      【解决方案11】:

      第一步

      $ composer self-update
      

      第二步

      $ composer clear-cache
      

      第三步

      $ composer update
      

      【讨论】:

        【解决方案12】:

        我找到了另一种可能的解决方案,问题是您的环境中缺少cUrl 扩展名。所以请按照以下步骤操作

        1. 首先,检查您是否有权访问

          packagist.orgping packagist.org。如果您收到服务器的回复,您就可以进行下一步了。

        2. 检查 cUrl 扩展是否存在 composer diagnose ,对我来说,我得到了这些结果,说我没有 cUrl 扩展,所以它可能会在下载内容时降低性能

        3. 根据你环境的php版本安装curl,我的是8,所以sudo apt-get install php8.0-curl为我工作

        4. 安装cUrl后,请检查是否再次安装composer diagnose,我得到了这些结果,描述了cUrl版本。

        5. 这解决了我在安装包时作曲家速度变慢的问题。

        【讨论】:

          【解决方案13】:

          找出答案的最佳方法是详细运行 composer update/install。作曲家 {安装/更新} -vvv。使用标志 -h 将来可能会对您有所帮助

          【讨论】:

          • 请对此进行解释。 OP 正在使用完全空的依赖项列表运行测试
          【解决方案14】:

          如果你删除了你的 composer.lock 文件,然后又去了composer install,那么下载依赖项的速度太慢了。 如果是这种情况,请使用composer update 命令,然后它可能会对您或其他人有所帮助。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-09-03
            • 2016-09-28
            • 2020-02-08
            • 2012-07-17
            • 2011-11-07
            • 2015-08-24
            • 2013-08-06
            • 2014-07-16
            相关资源
            最近更新 更多