删掉全局配置中的 cache-dir 键即可恢复默认缓存路径,因为 composer 仅依据该键是否存在决定使用自定义路径还是系统默认路径(linux/macos 为 ~/.composer/cache,windows 为 %appdata%\roaming\composer\cache)。

缓存路径改错了,直接删掉自定义配置就能还原默认值——Composer 不会“记住”你手动改过的路径,它只认 cache-dir 这个键是否存在;只要这个键被删掉,下次启动就自动回退到系统默认位置。
为什么删 config 就能恢复默认缓存路径?
Composer 的缓存路径逻辑很简单:有配置就用配置,没配置就走内置规则。Linux/macOS 默认是 ~/.composer/cache,Windows 是 %APPDATA%\Roaming\Composer\Cache。它不依赖环境变量或 fallback 机制,也不写死在二进制里,只看全局 config 文件里有没有 cache-dir 这个字段。
- 运行
composer config -g --unset cache-dir即可移除自定义路径 - 删完后执行
composer config -g cache-dir,应提示Key "cache-dir" does not exist - 再跑
composer clear-cache,它就会清掉当前默认路径下的内容,而不是你之前设的错误路径
删了 config 还是没回到默认路径?检查这三处
常见原因是“你以为删了,其实没删对位置”,或者有更高优先级的干扰源:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 确认删的是全局配置:
composer config -g --unset cache-dir(带-g);不加-g只删当前项目 composer.json 里的"config": {"cache-dir": "..."},不影响全局 - 检查是否设置了环境变量:
echo $COMPOSER_CACHE_DIR(Linux/macOS)或echo %COMPOSER_CACHE_DIR%(Windows),如果非空,必须用unset COMPOSER_CACHE_DIR或set COMPOSER_CACHE_DIR=清除 - 某些 IDE(如 PhpStorm)或 CI 脚本会临时注入
--cache-dir参数,这种属于命令行传参,不会写入 config,但会覆盖配置;验证时用干净终端执行
怎么确认现在真的用的是默认缓存路径?
别信 composer config 输出,要看实际行为:
- 执行
composer config --global cache-dir,无输出或报错即表示未配置 - 运行
composer clear-cache --dry-run,它会打印出 Composer 正准备清理的路径——这才是真实生效的路径 - 手动检查该路径是否存在且可写:
ls -la ~/.composer/cache(Linux/macOS)或dir "%APPDATA%\Roaming\Composer\Cache"(Windows)
最易忽略的一点:改过 cache-dir 后,旧路径下可能还留着大量缓存文件,它们不会自动迁移,也不会被新命令读取,但会一直占磁盘空间。如果你记得原路径,建议手动删掉,否则容易误以为“缓存没清干净”。










