为什么PHP Composer这么慢?

2022-08-30 07:25:04

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

composer init

<从 composer.json 创建开始,定义 0 个零依赖项>

composer install

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

作曲家所要做的就是拉入自动加载机并进行创作,那么为什么需要这么长时间呢?就此而言,为什么这一步没有发生?/vendorcomposer init

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


答案 1

因为 Composer 是由 实现的。它没有TCP优化,没有保持活动状态,没有多路复用等。file_get_contents()

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

$ composer global require hirak/prestissimo

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


答案 2
  1. 确保您拥有最新版本的 Composer。
  2. 通过添加 -vvv 以详细模式安装,例如composer global require "squizlabs/php_codesniffer=*" -vvv
  3. 如果您能够找出Composer面临缓慢的地方,例如,我在下载软件包时卡住了5分钟。在 50 Mbit/s 连接上下载 20 kB 文件需要 >5 分钟。这是因为它使用HTTP而不是HTTPS从packagist下载软件包。对配置进行这些更改解决了我的问题:composer config --global repo.packagist composer https://packagist.org

推荐