安装时是否可以覆盖composer包类型以修改其默认安装路径?
Composer安装时覆盖包自定义安装路径的解决方案
该需求可以实现,有两种常用实现方案,可根据实际需求选择:
- 方案1:全局禁用对应自定义安装器
如果你不需要用到该kirby安装器的任何自定义安装逻辑,可直接在项目根目录的composer.json中添加如下配置,禁用该安装器的功能,所有对应类型的包都会默认安装到vendor目录:
{ "extra": { "installer-disable": ["getkirby/composer-installer"] } }
- 方案2:单独指定目标包的安装路径
如果你不想全局禁用该安装器,只需要覆盖个别包的安装路径,可通过installer-paths配置指定对应包的安装位置为vendor目录:
{ "extra": { "installer-paths": { "vendor/{$vendor}/{$name}/": ["your/target-package-name"] } } }
将配置中的your/target-package-name替换为你需要调整安装路径的实际包名即可,也可以按包类型批量匹配,修改为type:kirby-cms即可覆盖所有该类型包的安装路径。
生效操作
配置修改完成后,执行composer install重新安装所有依赖,或者执行composer update 目标包名单独重新安装对应包即可生效。如果对应包之前已经被安装到自定义路径,建议先手动删除该包的目录后再执行命令,避免残留文件影响。
内容的提问来源于stack exchange,提问作者gearsdigital
相关产品推荐
相关产品推荐

