Composer update卡住了,但composer install正在运行。
Composer update卡住了,但composer install正在运行。
当我尝试运行composer update或者安装任何包时,它会卡住并显示以下内容:
加载包信息的composer仓库 更新依赖项(包括require-dev)
但是如果我尝试运行composer install,它会正常工作,显示以下内容:
加载包信息的composer仓库 从锁文件安装依赖项(包括require-dev) - 安装psr/log(1.1.2):从缓存加载 - 安装symfony/polyfill-ctype(v1.13.1):从缓存加载 - 安装phpoption/phpoption(1.6.0):从缓存加载 ......
我正在使用带有vagrant和virtualbox的Laravel Homestead。
问题是什么,如何解决?
Composer update hangs but composer install is running
有时候我会遇到这个问题。Composer install通常是正常工作的,因为它不需要检查每个包是否有更新。为了解决这个问题,你可以尝试以下几个选项:
1. 更新Composer到最新版本。
2. 删除完整的vendor文件夹,然后运行composer update
命令。
3. 增加内存(大多数情况下是因为内存不足导致失败)。可以参考这个问题:Composer update memory limit。
4. 检查你的composer.json
文件中是否存在不必要的依赖项,有些包可能需要其他包,这可能会过载你的CPU和内存。
5. 尝试使用composer update --prefer-dist
命令。
在我的情况下,增加内存解决了问题,我需要4GB的内存。
Composer update hangs but composer install is running
问题原因:
当运行composer update时,composer可能会卡住,而composer install却能正常运行。这可能是由于composer缓存的问题或系统内存不足导致的。
解决方法:
尝试清除composer缓存,命令如下:
composer clear-cache
如果清除缓存后问题仍未解决,可能是系统内存不足的原因。可以尝试增加内存或创建交换文件以提供更多内存。
增加内存:可以按照以下链接的指导增加内存:https://stackoverflow.com/a/44533437/3518053
创建交换文件:尝试创建一个交换文件以提供更多内存。具体操作步骤可以参考相关教程。