You need to enable JavaScript to run this app. 为什么Composer创建项目时安装依赖后立即删除文件并出现循环?
优惠活动
大模型
产品
解决方案
定价
更多

为什么Composer创建项目时安装依赖后立即删除文件并出现循环?

Composer安装后自动删除文件的解决方法

你遇到的安装完成即删除包文件、反复执行依赖命令无响应的问题,核心原因是Composer 2.0.12与PHP 8.0.3的兼容逻辑错误,和你的目录配置、网络环境无关。
从你提供的安装日志可以看到,Composer正常安装流程会在临时目录解压完成后,将文件移动到vendor下的对应包目录,再清理临时文件;但当前流程直接跳过了文件移动步骤,执行了目标包目录的删除操作——这是旧版本Composer在判断目录写入权限时出现了错误结果,直接触发了异常回滚的清理逻辑。

对应处理步骤

  • 升级修复Composer版本
    2.0.12是早期的Composer2版本,对PHP8.0的目录操作支持不完善。先执行composer self-update --stable升级到当前稳定的2.x版本;如果是通过系统包管理器安装的Composer,self-update无法修改系统目录下的程序文件,需要直接替换为最新的Composer phar包,并给程序文件加上可执行权限,避免权限不足触发回滚。
  • 清理残留的异常文件
    之前的异常安装会留下损坏的composer.lock文件和无效的缓存记录,这也是你反复执行依赖命令都提示“无内容需要安装”的原因:Composer会依据残留的lock文件判断包已经正常安装,不会主动重新拉取。直接删除项目目录下的vendor文件夹、composer.lock文件,再执行composer clearcache清空本地包缓存即可。
  • 绕开参数bug重新安装
    重新执行创建项目的命令时,可以先去掉--remove-vcs参数:composer create-project otra/skeleton otra-user -vvv,等确认vendor/otra/otra目录下的所有包文件都正常存在后,再手动删除项目根目录下的.git文件夹,实现和--remove-vcs相同的效果,避免触发旧版本的参数逻辑bug。

内容的提问来源于stack exchange,提问作者lionelp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 22:24:03