composer“恢复默认缓存路径”的唯一安全方式是执行composer config --global --unset cache-dir并清除环境变量composer_cache_dir,再通过composer diag验证实际缓存目录是否回落至系统默认路径。

Composer 的“默认缓存设置”不是预装的固定值,而是由三重机制动态决定的:环境变量 COMPOSER_CACHE_DIR > 全局配置 cache-dir > 系统默认路径(如 ~/.composer/cache)。所谓“恢复默认”,本质是清空所有显式覆盖,让 Composer 自动回落到它原本该走的路径。
删掉全局 cache-dir 配置项
手动改 ~/.composer/config.json 极易因 JSON 格式错误或波浪号 ~ 导致静默失效。唯一安全方式是用命令删除:
composer config --global --unset cache-dir- 执行后不会报错,也不提示“已删除”,但
composer config --global cache-dir会返回空行 - 注意:不加
--global会误删项目级配置,完全无效
确认并清理环境变量干扰
COMPOSER_CACHE_DIR 环境变量优先级最高,哪怕全局配置已清空,它仍会强制生效:
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- Linux/macOS:运行
env | grep COMPOSER_CACHE_DIR,若有输出,执行unset COMPOSER_CACHE_DIR - Windows:运行
echo %COMPOSER_CACHE_DIR%,若非空,执行set COMPOSER_CACHE_DIR= - Docker 或 CI 脚本中常漏掉这步,导致本地测试正常、CI 构建失败
验证是否真回到默认路径
别信 composer config 输出,要看实际行为:
- 运行
composer diag,关注Cache directory:行输出的路径 - 对比该路径是否为
~/.composer/cache(Linux/macOS)或%APPDATA%\Composer\Cache(Windows) - 再执行
ls -la $(composer diag | grep "Cache directory" | cut -d' ' -f3)(Linux/macOS),确认目录存在且可写 - 如果仍显示自定义路径,说明环境变量残留或用户主目录权限异常(如
/home/xxx属于 root)
真正麻烦的不是删配置,而是环境变量和用户权限这两层隐性控制——它们不报错、不提示,只在你跑 composer install 卡住时才暴露出来。










