如何在 composer.json 中为特定包指定安装路径 (installer-paths)?

裘德小鎮的故事
发布: 2025-11-30 08:01:31
原创
346人浏览过
通过composer/installers可自定义包安装路径,先安装composer/installers依赖,再在composer.json的extra中配置installer-paths,指定包名与目标目录映射,确保目标包type类型匹配,如wordpress-plugin等,路径与包名需完全一致且区分大小写。

如何在 composer.json 中为特定包指定安装路径 (installer-paths)?

Composer 本身不直接支持为单个包指定安装路径,但可以通过 composer/installers 扩展来实现自定义路径。这个插件允许你将特定类型的包(如 WordPress 插件、Laravel 包等)安装到指定目录。

1. 安装 composer/installers

确保你的项目已引入 composer/installers 包:

"require": { "composer/installers": "^2.0" }

运行 composer update 安装该依赖。

2. 设置 installer-paths(通过 extra 配置)

composer.json 中使用 extra 字段定义 installer-paths,指定不同包类型安装到哪个目录。

"extra": { "installer-paths": { "custom/path/{$name}/": ["vendor-name/package-name"], "plugins/{$name}/": ["my-vendor/special-plugin"] } }

说明:

  • {$name} 是包的名称(例如 my-vendor/my-package)
  • 路径左侧是目标安装目录
  • 数组中列出需要安装到该路径的具体包

3. 包必须支持对应类型

目标包的 composer.json 必须设置正确的 type,例如:

360 AI助手
360 AI助手

360公司推出的AI聊天机器人聚合平台,集合了国内15家顶尖的AI大模型。

360 AI助手 140
查看详情 360 AI助手
{ "type": "wordpress-plugin", "require": { "composer/installers": "^2.0" } }

常见类型包括:library, wordpress-plugin, drupal-module, laravel-library 等。

4. 示例:将某个包安装到 plugins/ 目录

你想把 acme/my-plugin 安装到 plugins/my-plugin/

"extra": { "installer-paths": { "plugins/{$name}/": ["acme/my-plugin"] } }

前提是 acme/my-plugincomposer.json 中设置了 "type": "library" 或其他支持的类型。

基本上就这些。只要配合 composer/installers 使用,就能灵活控制包的安装位置。注意路径配置对大小写敏感,包名也要完全匹配。不复杂但容易忽略细节。

以上就是如何在 composer.json 中为特定包指定安装路径 (installer-paths)?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号