使用 --working-dir 参数可指定 Composer 命令执行目录,适用于多项目管理或自动化场景。例如在根目录运行 composer install -d api 安装子项目依赖,或在 CI/CD 脚本中通过 --working-dir 明确路径,支持相对与绝对路径,命令执行时会在目标目录查找 composer.json 并生成 vendor 文件夹,但不改变终端当前路径。

当你想让 Composer 在指定目录下执行命令,而不是当前工作目录时,就可以使用 --working-dir(或简写为 -d)参数。这个参数非常实用,尤其在自动化脚本或项目结构较复杂的情况下。
免费 盛世企业网站管理系统(SnSee)系统完全免费使用,无任何功能模块使用限制,在使用过程中如遇到相关问题可以去官方论坛参与讨论。开源 系统Web代码完全开源,在您使用过程中可以根据自已实际情况加以调整或修改,完全可以满足您的需求。强大且灵活 独创的多语言功能,可以直接在后台自由设定语言版本,其语言版本不限数量,可根据自已需要进行任意设置;系统各模块可在后台自由设置及开启;强大且适用的后台管理支
基本用法
使用 --working-dir 可以指定 Composer 应该操作的目标目录。Composer 会切换到该目录,并在此目录中查找composer.json 文件并执行相应操作。
语法:composer install --working-dir=/path/to/project
或简写:composer install -d /path/to/project
常见使用场景
以下是一些实际中常见的使用方式:-
在父目录运行子项目的 Composer 命令
比如你的项目结构如下:/my-project/ ├── composer.json └── api/ └── composer.json如果你在根目录,想安装api/中的依赖,可以运行:composer install -d api -
CI/CD 脚本中明确指定路径
在持续集成环境中,你可能需要在特定目录执行命令,避免依赖当前路径:composer update --working-dir=./packages/microservice -
批量处理多个 Composer 项目
写一个脚本遍历多个子项目并安装依赖:for dir in */; do composer install -d "$dir" done
注意事项
使用 -d 参数时要注意几点:- 指定的目录必须存在且包含
composer.json文件,否则会报错。 - 所有文件操作(如自动加载生成、vendor 目录创建)都会发生在目标目录中。
- 相对路径和绝对路径都支持,例如:
-d ../another-project或-d /var/www/html。 - 不会改变你终端当前所在的目录,只是 Composer 内部切换了工作路径。









