最直接的方式是在 composer.json 的 config 字段中设置 vendor-dir,如 {“config”: {“vendor-dir”: “libs”}},它会覆盖默认路径且优先级高于环境变量;需同步修改 autoload 引用、IDE 配置及工具链路径。
composer.json 里用 config.vendor-dir 指定目录
最直接的方式是在项目根目录的 composer.json 中添加 config 字段,通过 vendor-dir 控制安装路径。它会覆盖全局或默认行为,且优先级高于环境变量。
示例:
{
"config": {
"vendor-dir": "libs"
}
}
执行 composer install 或 composer update 后,所有包都会装进 libs/ 而非默认的 vendor/。
- 该配置只对当前项目生效,不影响其他项目
- 路径支持相对路径(如
"libs")和绝对路径(如"/var/www/myproject/packages"),但绝对路径在协作中容易出问题,不推荐 - 修改后记得删掉旧
vendor/目录,否则自动加载可能仍引用旧路径
用 COMPOSER_VENDOR_DIR 环境变量临时覆盖
适合 CI/CD、Docker 构建或单次调试场景,无需改 composer.json。设置环境变量后,Composer 会优先读取它。
Linux/macOS: