真正实用、无兼容风险的composer插件只剩三个:kylekatarnls/update-helper(版本预警)、sandersander/composer-link(本地包调试)、vaimo/composer-plugin(自动格式化composer.json);hirak/prestissimo等提速插件在composer 2.x中已失效且必须卸载。

Composer 2.x 本身已经足够快,hirak/prestissimo 这类“提速插件”不仅无效,还会报 Plugin is not compatible with Composer 2 错误,必须卸载。
哪些插件真能提升开发效率(不是“提速”)
所谓“提速”,其实是减少重复操作、避免手误、提前发现约束问题——不是让 composer update 从 12 秒变 8 秒,而是帮你跳过 5 分钟排查为什么没升到新版本。
-
kylekatarnls/update-helper:每次composer update后自动列出“本可升级但被^2.0卡住”的包,输出像monolog/monolog: 2.10.0 → 3.5.0 (constrained by ^2.0),一目了然 -
sandersander/composer-link:本地调试包时,用composer link ../my-utils建软链,改源码立刻生效,不用反复composer install或手动改autoload -
vaimo/composer-plugin:保存composer.json时自动格式化(缩进、排序键名),避免因 JSON 格式问题导致 CI 失败
为什么 prestissimo 必须删
它在 Composer 1.x 时代靠并行下载提速,但 Composer 2.x 已原生支持并行 + 更优的依赖解析器。继续留着会导致:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 执行任何命令都抛出
Plugin is not compatible with Composer 2警告 - 某些环境下触发 autoload 冲突,
composer dump-autoload失败 - 与
composer global require的其他插件产生钩子冲突
删法很简单:composer global remove hirak/prestissimo,再确认 composer --version 输出是 2.x(如 2.7.6)。
链接本地包后容易失效的两个点
sandersander/composer-link 看似省事,但有两个真实场景会“静默失效”:
- 被链接包改了
autoload类型(比如从"psr-4"改成"files"),composer link不会自动重跑dump-autoload,必须手动执行 - 运行
composer update时,插件不拦截也不提示,可能直接把软链删掉、换回正常安装,建议开发期用composer update --with-dependencies my-utils显式控制范围
真正影响效率的从来不是网络下载那几秒,而是“为什么没按预期装”“为什么改了代码不生效”“为什么 CI 报 JSON 格式错”——盯住这几个点,比找“加速插件”实在得多。










