我尝试使用 composer update
更新我今天正在处理的 Laravel 项目
但它卡在更新依赖项(包括 require-dev)
所以我尝试了诸如更新 Composer 、转储自动加载之类的方法,但似乎没有任何效果。然后我以详细模式运行它: composer update -vvv
我注意到它在读取此 json 时挂起:
Reading path/to/Composer/repo/https---packagist.org/provider-cordoval$hamcrest-php.json from cache
我尝试在 packagist.org 上搜索 cordoval/hamcrest-php 但找不到。这没有在我的 composer.json
搜索我的供应商文件夹,我注意到我使用的 mockery/mockery
包需要 hamcrest/hamcrest-php
,但我找不到任何可以引用的内容到cordoval
。
知道出了什么问题以及如何修复它以便进行更新吗?
这是我的composer.json:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"laravel/framework": "4.2.*",
"iron-io/iron_mq": "dev-master",
"phpunit/phpunit": "4.2.*",
"mockery/mockery": "dev-master",
"xethron/migrations-generator": "dev-master",
"mailgun/mailgun-php": "dev-master"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
}
更新
我尝试从composer.json 中删除一些包,包括“mockery/mockery”包。它所做的唯一更改是 Composer 将卡在不同的文件上。
在让 Composer 像这样运行了很长一段时间后,它最终退出并出现如下错误:
/path/to/ComposerSetup/bin/composer: line 18: 1356 Segmentation fault php "${dir}/composer.phar" $*
不知道该怎么办...
最佳答案
就我而言,这在我的 8GB 内存 Mac 上花费了很长时间。要检查进度并验证它是否正在处理依赖项,请在详细模式下运行 Composer。这是我在问题中错过的一种方法,因此值得在这里重申。
composer update -vvv
关于json - 更新依赖项时 Composer 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32573924/