如何在一个请求中并行执行Composer下载?(Prestissimo插件)

2次阅读

composer 2.x 默认内置并行下载(最多4并发),无需安装Prestissimo;Composer 1.x用户可运行composer global require hirak/prestissimo启用并行下载,通过-v日志中多行进度条验证生效。

如何在一个请求中并行执行Composer下载?(Prestissimo插件)

Composer 默认是串行下载包的,速度慢。Prestissimo 是一个官方已归档但依然广泛可用的插件,它能让 Composer 在单个请求中并行下载多个依赖,显著提升安装和更新速度。

安装 Prestissimo 插件

只需运行一条命令即可全局启用:

  • Composer v2.2+ 用户注意:Prestissimo 已被官方集成进 Composer 2.x,默认开启并行下载(最多 4 个并发),无需额外安装;如果你用的是 Composer 2,基本不用管这个插件。
  • 仍用 Composer 1.x 的用户可执行:composer global require hirak/prestissimo
  • 安装后无需配置,下次运行 composer installcomposer update 就自动并行了

验证是否生效

运行 composer install -vcomposer update -v,观察输出日志:

如何在一个请求中并行执行Composer下载?(Prestissimo插件)

php中级教程之ajax技术

AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它不是新的编程语言,而是一种使用现有标准的新方法,最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容,不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。《php中级教程之ajax技术》带你快速

如何在一个请求中并行执行Composer下载?(Prestissimo插件) 2114

查看详情 如何在一个请求中并行执行Composer下载?(Prestissimo插件)

  • 如果看到类似 Downloading (100%) 多行同时滚动,说明并行下载已启动
  • 若只有单行进度条缓慢推进,可能是插件未装成功,或被禁用(检查 composer global show 是否列出 hirak/prestissimo
  • 也可运行 composer config --global repos.packagist.org.type composer 确保 Packagist 源类型正常(Prestissimo 依赖此设置)

常见问题与替代方案

Prestissimo 虽好,但有局限性:

  • 仅支持 http/https 下载,不加速 git 克隆(如 vcs 类型仓库)
  • Composer 2.x 用户不必装它——并行能力已内置,且更稳定;可通过 composer config -g parallel.downloads 8 提高并发数(默认 4)
  • 若因网络策略禁用插件,可临时关闭:composer config -g disable-tls false(极少需改)或卸载:composer global remove hirak/prestissimo

基本上就这些。Composer 2 时代,Prestissimo 更像一段过渡记忆;但对老项目或受限环境,它仍是简单有效的提速手段。

text=ZqhQzanResources