Composer缓存默认路径因系统而异:Linux/macOS为~/.composer/cache,Windows为%APPDATA%\Composer\Cache;最可靠查法是运行composer config --global cache-dir查看当前值,未配置时则由composer config --global home拼接/cache得出。

缓存路径在哪、怎么查清楚
Composer 缓存默认位置不是固定的,它取决于 COMPOSER_HOME 环境变量和配置项 cache-dir 的实际值。直接看配置比猜路径更可靠:
- 运行
composer config --global cache-dir查当前全局缓存路径(如未显式配置,会 fallback 到$COMPOSER_HOME/cache) - 运行
composer config --global home看COMPOSER_HOME值,再拼上/cache就是默认路径 - Linux/macOS 默认是
~/.composer/cache,Windows 是%APPDATA%\Composer\Cache
别依赖“应该在哪儿”,尤其在 CI 或容器里——COMPOSER_HOME 可能被重设,或根本没定义。
缓存目录占满磁盘怎么办
cache-files-maxsize 是控制缓存体积的开关,但它的行为容易被误解:它只在 composer clear-cache --gc 时生效,不是实时限制。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 默认值是
300MiB,对现代项目明显偏小;建议设为"1GiB"或更高 - 修改方式:
composer config -g cache-files-maxsize "1GiB" - 执行
composer clear-cache --gc才会真正触发清理:删掉最旧的文件,直到总大小 ≤ 配置值 - 注意:
--gc不清元数据缓存(repo/目录),那部分得靠cache-files-ttl或手动删
CI 构建中缓存失效的典型原因
CI 容器每次启动都是干净环境,$COMPOSER_HOME/cache 默认不持久化——这是缓存“看起来没起作用”的主因。
- 确认 CI 脚本是否显式挂载了缓存目录(如 GitHub Actions 的
actions/cache,GitLab CI 的cache:paths) - 路径必须严格匹配:比如你用
composer config -g cache-dir /tmp/composer-cache,那 CI 就得缓存/tmp/composer-cache,而不是默认的~/.composer/cache - 避免混用
--no-cache和缓存策略:CI 脚本里出现这个标志,等于主动绕过所有缓存逻辑 - 某些 CI 平台(如 Vercel、Netlify)根本不允许写入用户目录,必须用
/tmp类路径并显式配置
改缓存路径后命令不生效?先检查 bin-dir
改 cache-dir 本身不影响命令执行,但很多人顺手改了 bin-dir(全局命令安装路径),却忘了同步更新系统 PATH。
-
composer config --global bin-dir输出的是二进制文件存放位置,比如/usr/local/bin或~/.composer/vendor/bin - 如果改成
/usr/local/bin,要确保当前用户有写权限,否则composer global require会报Permission denied - 改完
bin-dir后,必须手动把该路径加进 shell 的PATH(编辑~/.zshrc或~/.bashrc),然后source生效 - 验证:运行
which laravel,输出应与bin-dir值一致;否则就是 PATH 没生效
缓存路径本身不会让命令“消失”,但 bin-dir 和 PATH 的错配,是开发者最容易反复踩坑的地方。

















