先确认是inode耗尽而非磁盘块用光,运行df -h和df -i检查/tmp及~/.composer/cache所在分区,若IUse%接近100%则需清理临时目录、禁用cache.vcs并迁移cache-dir。

先确认是磁盘满还是 inode 耗尽
报 No space left on device 卡在 Downloading 阶段,别急着删文件。Linux/macOS 先跑:df -h 看磁盘使用率(重点看 /tmp 和缓存所在分区)df -i 看 inode 使用率——如果 Use% 接近 100%,哪怕 df -h 显示还剩 20GB 也照样失败。
Windows 用户用 PowerShell:Get-PSDrive C | Select-Object Used,Free 查空间,再进 $env:TEMP 目录手动搜 composer_*.zip 和 php*.phar 文件。
清缓存前必须杀干净所有 composer 进程
直接 rm -rf ~/.composer/cache 极危险:IDE 内嵌的 Composer 扫描、未退出的 php /path/to/composer.phar、残留锁文件,都会导致删一半就报 file_put_contents(): No space left on device,甚至损坏缓存索引。
安全做法:
• Linux/macOS:ps aux | grep composer → kill -9 $(pgrep -f "composer")
• Windows:tasklist | findstr composer → 手动结束对应 PID
再执行:composer clear-cache —— 它会校验完整性、安全删除,并重建必要元数据。
清完用 du -sh ~/.composer/cache 确认是否真空;若仍报错,说明有进程锁着文件,得重试 kill 步骤。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
临时目录才是真凶,必须单独处理
sys_get_temp_dir() 返回的路径(Windows 默认 C:\Users\用户名\AppData\Local\Temp,Linux/macOS 默认 /tmp)才是磁盘满的主因。Composer 解压 ZIP、生成 autoload、运行脚本全走这里,极易堆积 composer_*.zip、php*.phar 等未清理文件,且全是小文件,专吃 inode。
解决方法:
• 先查真实路径:php -r "echo sys_get_temp_dir();"
• Linux/macOS 清理:find $(php -r "echo sys_get_temp_dir();") -name "composer_*" -o -name "php*.phar" -delete 2>/dev/null
• Windows 手动进该路径,删所有匹配项
• 永久重定向(推荐):
Linux/macOS:TMPDIR="/mnt/data/tmp" php -d sys_temp_dir="/mnt/data/tmp" composer install
Windows PowerShell:$env:TMP="D:\temp"; $env:TEMP="D:\temp"; php "-d" "sys_temp_dir=D:\temp" composer install
确保目标目录存在且有写权限:mkdir -p /mnt/data/tmp && chmod 1777 /mnt/data/tmp
禁用 vcs 缓存和迁走 cache-dir 是长期省空间关键
cache/vcs/ 子目录存 Git 克隆的裸仓库,每个包一个仓库,动辄几百 MB + 成千上万个小文件,是 inode 和磁盘双料杀手。但它对绝大多数项目完全非必需。
执行:composer config --global cache.vcs false,后续所有 Git 包强制走 --prefer-dist(下载 ZIP),无需额外参数。
已存在的 vcs/ 目录可安全手动删:
• Linux/macOS:rm -rf ~/.composer/cache/vcs/
• Windows:rd /s /q "%APPDATA%\Composer\Cache\vcs"
再把缓存迁到大容量分区:
• Windows:composer config --global cache-dir "D:\composer-cache"
• Linux/macOS:composer config --global cache-dir "/mnt/data/composer-cache"
注意:cache/repo/ 别碰,删了会导致首次 composer update 卡很久;cache/files/ 和 cache/archives/ 可由 composer clear-cache 安全处理。

















