不会。composer remove --dev 仅删除 require-dev 声明、更新 lock 文件并(2.2+)清理 vendor 对应目录,不清理 ~/.composer/cache/ 下的全局缓存(files/repo/vcs),vcs 缓存需手动清除且无 dev 专属分区。

composer remove --dev 会清掉开发依赖的缓存吗?
不会。composer remove --dev 只负责从 composer.json 的 require-dev 区块删声明、更新 composer.lock,并(在 Composer 2.2+)同步清理 vendor/ 下对应目录——但它不碰任何 Composer 自身的全局缓存,比如 ~/.composer/cache/ 里的内容。
dev 依赖的缓存到底藏在哪?
开发依赖本身没有独立缓存区,它的 ZIP 包、元数据、Git 克隆都混在全局缓存里:
-
~/.composer/cache/files/:已下载的.zip或.tar.gz包(含phpunit/phpunit这类 dev-only 包) -
~/.composer/cache/repo/:Packagist 镜像的packages.json元数据(含所有包,无论是否在require-dev) -
~/.composer/cache/vcs/:Git 仓库克隆副本(最占空间,比如friendsofphp/php-cs-fixer的完整.git目录可能达 500 MB)
这些路径下没有任何“dev-only”子目录,删缓存就是无差别清理。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
怎么精准释放 dev 相关的磁盘空间?
直接运行 composer clear-cache 只清 files/ 和 repo/,默认跳过 vcs/——而这恰恰是 dev 工具(如 behat/behat、phpstan/phpstan)最常被 Git 安装的重灾区。必须手动补刀:
- Linux/macOS:
rm -rf ~/.composer/cache/vcs/ - Windows:
rd /s /q "%APPDATA%\Composer\Cache\vcs" - 删完立刻设永久开关:
composer config --global cache-vcs false,后续所有 Git 包强制走--prefer-dist(即 ZIP 安装)
注意:杀毒软件或 PhpStorm 可能锁住 vcs/ 文件,删不掉时先关掉文件索引。
删完缓存,vendor 还有 dev 包残留?
那是正常现象,和缓存无关。原因只有一条:composer remove --dev 后没跑 composer install --no-dev。缓存清理只影响下次下载速度,不影响当前 vendor/ 状态。真正决定 vendor/ 内容的是 composer.json + composer.lock + install 命令三者。漏掉这步,vendor/ 里就永远躺着已声明移除的包。










