卡在“resolving dependencies”是composer本地暴力求解版本约束所致,非网络或镜像问题;应检查php版本约束是否过宽、禁用xdebug、清缓存、设置composer_memory_limit=-1,并确认proc_open等关键函数未被php禁用。

报错卡在 “Resolving dependencies” 怎么办
这不是网络或镜像问题,是 Composer 在本地暴力求解版本约束。日志里哪怕已确认走的是 https://mirrors.aliyun.com/composer/,只要卡在这一步,就和下载无关。
- 检查
composer.json中的"php"约束是否过宽,比如"^7.4 || ^8.0 || ^8.1 || ^8.2"→ 缩窄为当前环境实际版本,如"^8.2" - 运行
php -v看是否启用了 xdebug → 若有,临时禁用:php -d xdebug.mode=off $(which composer) install - 执行
composer clear-cache清掉可能损坏的锁文件缓存 - PHP 内存不足会反复重试,加参数强制不限制:
COMPOSER_MEMORY_LIMIT=-1 composer install
“Call to undefined function proc_open()” 是环境函数被禁用
不是脚本写错了,是 PHP CLI 层面禁用了关键函数。宝塔、cPanel、共享主机默认干这事,而 Composer 安装器启动第一秒就要调 proc_open 和 putenv。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 验证:运行
php -r "var_dump(function_exists('proc_open'));",输出bool(false)就坐实了 - 查
disable_functions:打开 php.ini,删掉proc_open、putenv、pcntl_signal(注意空格和拼写) - 改完必须重启 PHP-FPM 或 Apache/Nginx;CLI 下还要新开终端,否则
php -r "echo proc_open('echo 1', [], $p) ? 'ok' : 'fail';"仍会 fail
镜像配置写了但日志还是 packagist.org
镜像没生效,不是命令没跑,是配置方式错了。Composer 2.5+ 已废弃 composer config -g repo.packagist,它不报错也不写入,纯属静默失效。
- 项目级唯一有效写法:在
composer.json的repositories字段里硬编码:{"type":"composer","url":"https://mirrors.aliyun.com/composer/"} - 全局级只认环境变量:
export COMPOSER_REPO_PACKAGIST=https://mirrors.aliyun.com/composer/(加到/etc/profile或~/.bashrc) - 验证是否真走镜像:
composer install -vvv | grep "Reading packages.json from cache",必须看到路径含mirrors-aliyun-com,而不是packagist-org - 注意 URL 必须带末尾
/,https://mirrors.aliyun.com/composer(缺斜杠)会导致 404 后 fallback 到官方源,且不提示
Windows 下报 “CreateProcess failed” 或路径太长
前者是 PATH 超 32767 字符,后者是系统 MAX_PATH 限制未开——两者都跟 Composer 配置无关,是 Windows 底层拦路。
- 测 PATH 长度:
echo %PATH% | powershell -Command "$input.Length",超限就删重复项,尤其清理掉多个%APPDATA%\Composer\vendor\bin条目 - 长路径必须开:组策略启用
启用 Win32 长路径,或注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled设为1,然后重启系统 - 项目路径尽量短:
C:\p\myapp比C:\Users\Alice\Documents\GitHub\my-laravel-app多出上百字符余量,别信“放桌面也行” - 路径里别含空格和中文,某些旧扩展解析时直接崩
composer install 报错不是依赖本身的问题,而是 PHP 函数缺失、PATH 污染、镜像配置误写、或 Windows 系统级限制这四类。先盯住报错关键词,再动手改配置,比重装 Composer 或换网络快得多。










