composer config --global cache-dir是唯一安全写法,必须用绝对路径(如/home/alex/composer-cache),手动改配置或设环境变量易因JSON错误或波浪号~导致静默失效,且composer.json中cache-dir字段完全无效。

composer config --global cache-dir 是唯一安全写法
直接改 ~/.composer/config.json 或设环境变量 COMPOSER_CACHE_DIR,90% 会静默失效——JSON 少个逗号、引号没闭合、路径含波浪号 ~,Composer 就跳过整个配置,后续命令行为异常但不报错。composer config --global cache-dir 自动处理 JSON 序列化、路径转义和作用域隔离,不碰其他字段。
- 必须用绝对路径:
/home/alex/composer-cache,不能写~/composer-cache - 目录需提前创建:
mkdir -p /home/alex/composer-cache - 当前用户必须有读写权限:
chown -R $USER:$USER /home/alex/composer-cache -
composer.json中的cache-dir字段完全无效,别写
改完缓存目录后,旧缓存不会自动迁移
新配置只影响后续下载,已存在的 ~/.composer/cache/ 下内容不会被移动或复制。要保留历史包,得手动同步:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 用
rsync -a ~/.composer/cache/ /home/alex/composer-cache/(Linux/macOS) - Windows 用户可用
robocopy %APPDATA%ComposerCache D:SoftwareComposerCache /E - 若不确定一致性,更推荐清空重下:
rm -rf ~/.composer/cache后再运行composer update
Windows 用户注意环境变量与路径分隔符
在 Windows 上设 COMPOSER_HOME 或 COMPOSER_CACHE_DIR 环境变量时,反斜杠 容易引发解析错误;composer config --global cache-dir 会自动转义,但手写路径时建议统一用正斜杠 / 或双反斜杠 \:
- 正确:
composer config --global cache-dir "D:/Software/Composer/Cache" - 错误:
composer config --global cache-dir "D:SoftwareComposerCache"(末尾反斜杠可能被误解析为转义) - PowerShell 中若用变量拼接,需确保路径字符串未被意外展开或截断
缓存目录改了,但 composer update 还是不拉新版?
这是常见误解:修改 cache-dir 只改变存储位置,不刷新元数据。如果 composer update 仍看不到新版本,问题不在缓存路径,而在元数据过期:
- 必须手动删掉
$(composer config --global cache-dir)/repo/https---packagist.org/ - 同时删掉
vendor/composer/installed.json和composer.lock - 验证是否生效:
composer update --dry-run -v中看到Downloading https://packagist.org/packages.json才算成功

















