Composer 没有导出设置功能,composer.json 是核心配置文件,定义依赖、自动加载等;composer.lock 是依赖快照,必须与 composer.json 同目录并提交;全局配置不随项目迁移,需手动备份。

Composer 本身没有“导出设置”这个功能按钮或菜单项,composer.json 和 composer.lock 就是它的全部配置与状态快照——你不需要导出,它们天然就是可提交、可共享、可复现的设置载体。
composer.json 就是你的核心设置文件
它定义了项目依赖、自动加载规则、脚本、平台要求等所有关键配置。只要这个文件存在且格式正确,就等于“设置已就位”。
- 位置:固定在项目根目录下,必须叫
composer.json,大小写敏感 - 生成方式:
composer init交互创建,或手动新建并确保 JSON 语法合法(推荐用 PhpStorm 的 JSON Schema 校验) - 常见误操作:改名(如
composer-config.json)、放在子目录、内容为空或含语法错误(比如末尾多逗号)→ PhpStorm 的 Composer 功能会直接失效
composer.lock 不是设置,但必须一起提交
composer.lock 是 composer install 或 composer update 后自动生成的锁定文件,记录了每个包的确切版本和哈希值。它不是“导出结果”,而是依赖状态的精确快照。
- 作用:保证所有环境安装完全一致的依赖,避免因网络、镜像或 Packagist 状态波动导致行为差异
- 位置:和
composer.json同级,同样必须在项目根目录 - 坑点:Git 忽略它(比如写了
composer.lock在 .gitignore 里)→ 团队成员composer install时会装出不同版本,静默引入兼容性问题
全局配置不随项目走,不能“导出”但可以查和备份
Composer 的全局配置(比如镜像源、GitHub Token、bin-dir)存放在用户目录下,由 composer config --global 管理。它不会被复制进项目,也不参与 composer install 流程。
- 查看当前全局配置:
composer config --list --global - 真实路径需运行:
composer global config bin-dir --absolute(新版 Composer 2.4+ 路径已迁移,不能硬猜) - 若需迁移或备份:直接复制整个全局配置目录(
~/.config/composer/或%APPDATA%\Composer\),但注意其中的auth.json可能含敏感凭据,别误提交到 Git
真正容易被忽略的是:PhpStorm 的 Composer 集成依赖于 composer.json 存在 + PHP 解释器已配置 + composer.phar 路径指向可执行入口(不是下载链接,也不是相对路径)。三者缺一,右键菜单就灰掉,连 Install 都点不了——这时候别找“导出”,先检查这三个硬性前提。











