composer/installers 是 composer 官方推荐插件,用于接管声明了特定 type(如 wordpress-plugin)的包的安装路径,自身仍安装在 vendor/composer/installers,不改变 vendor 目录位置,仅在安装时重定向兼容 type 的包至非 vendor 路径。

Composer 插件本身不安装“动画工具”,也不会把任何 3D 动画软件或播放器装进你的项目目录——你真正要找的,是 composer/installers 这个包,以及它如何影响其他包的安装位置。
composer/installers 是什么,它装在哪
它是一个 Composer 官方推荐的插件,作用是接管特定 type 的包(如 wordpress-plugin)的安装路径。它自己仍属于普通 PHP 库,所以默认装在 vendor/composer/installers,和所有 library 类型包一样。
- 它不改变
vendor/目录本身的位置,只在安装时“劫持”某些包的落地路径 - 必须先运行
composer require composer/installers,后续的installer-paths配置才生效 - 如果项目已存在
vendor/且没装过这个插件,composer update不会自动补装它——得先composer install或显式require
第三方包(比如动画导出工具)真能被装到非 vendor 目录吗
不能,除非它声明了被 composer/installers 支持的 type,且你配了 extra.installer-paths。但绝大多数动画相关工具(如 SOLIDWORKS Composer 的发布脚本、WebGL 渲染器封装库)根本不是 Composer 包,也不上 Packagist。
- 你在 Packagist 上搜不到 “SOLIDWORKS Composer HTML 导出器”——因为它压根不是 PHP 包,更不会通过
composer require安装 - 所谓“动画插件”,大概率是你本地写的导出脚本、Node.js 工具,或需手动下载的 ActiveX 控件(如
DSComposerPlayerActiveX.cab),这些和 Composer 无关 - 如果你看到某个包声称支持 Composer 安装,先查它的
composer.json:确认"type"字段值是否在 installers 支持列表 中
怎么确认某个包到底装在哪了
别猜路径,用命令直接问 Composer:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 查当前项目
vendor实际位置:composer config vendor-dir --absolute - 查某个包(比如
endroid/qrcode)装在哪:composer show -i endroid/qrcode --path - 查全局装的工具(如
laravel/installer)代码在哪:composer config --global home→ 然后进该目录下的vendor/ - 查全局命令(如
laravel)二进制在哪:composer config --global bin-dir --absolute
所有这些路径都可能被改过,硬编码 vendor/ 在部署或 CI 中必然失败。
容易被忽略的关键点
很多人以为改了 installer-paths 就能任意挪包,但实际生效有三重限制:
- 目标包的
composer.json必须声明"type": "wordpress-plugin"这类受支持类型,普通library不触发 -
composer/installers必须已安装且启用(部分旧版 Composer 默认禁用插件,需加--with-all-dependencies或检查config.allow-plugins) - 路径配置写在
extra.installer-paths下,不是config或autoload;键是相对路径,不能以/开头
一旦漏掉其中任一环,包就安静地躺在 vendor/ 里,而你以为它该在 wp-content/plugins/ 下——这种静默失败最难排查。










