Composer Installer 这个插件,名字听着像“安装 Composer 的工具”,但千万别被它骗了。它的真正使命是:让第三方包,能按你项目的框架规范,准确落到该去的地方。换句话说,你装一个 WordPress 插件,它该去 wp-content/plugins/,而不是被扔进 vendor/ 里吃灰。这事儿,全靠它来张罗。

Composer安装Composer-installer指南

不过,很多人兴冲冲地 composer require composer/installers 之后,发现插件根本没按预期工作。问题出在哪儿?今天就一次性把几个最容易踩的坑说清楚。

你装了插件,但包没“搬家”?先查包的 type 字段写对没

这事儿太常见了。很多人以为只要本地装了 composer/installers,所有依赖就会自动“飞”到对应目录。其实,composer/installers 只是个“搬运工”,它不负责判断包该去哪,只负责执行搬运指令。而指令的来源,是你要安装的那个包自己声明的 type

所以,别指望靠改自己项目的配置去“强制”一个未声明 type 的通用库进特定目录——它根本不会触发搬运逻辑。

自定义 installer-paths 时,路径变量写法最容易出错

这个坑也高发。很多人喜欢在 installer-paths 里玩花样,比如想加个版本号什么的。但这里有个硬性限制:它只支持 {$name}{$vendor} 这两个变量插值,{$version} 是不认的。

升级到 Composer 2.5+ 后配置失效?检查 key 名拼写

Composer 2.4 起,配置项还是叫 installer-paths(拼写没变),但很多人会误写成 installers-pathsinstall-path。这类拼写错误不会报错,只会静默忽略——你配了跟没配一样。

为什么 vendor/ 里还有包残留?composer dump-autoload 不管用

另一个常见误区:以为 composer dump-autoload 能重新排列包的位置。实际上,composer/installers 是“安装时”行为,跟自动加载完全无关。它只影响 composer installcomposer update 时的文件落点。

总结一下,composer/installers 的核心逻辑很简单:你配好了、包也声明了,它才会乖乖干活。否则,一切都白搭。记住这一点,后面就不会再为“为什么没生效”而抓狂了。

本文转载于:https://www.php.cn/faq/2815085.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。