Chr*_*ris 18 json hamcrest composer-php
我尝试更新我正在使用的Laravel项目 composer update
但它坚持下去 Updating dependencies (including require-dev)
所以我尝试了更新composer,dump-autoload之类的东西,但似乎没有任何效果.然后我以详细模式运行它:composer update -vvv
我注意到它在读这个json时挂了:
Reading path/to/Composer/repo/https---packagist.org/provider-cordoval$hamcrest-php.json from cache
Run Code Online (Sandbox Code Playgroud)
我试着在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"
}
Run Code Online (Sandbox Code Playgroud)
我试过从composer.json中删除一些包,包括"mockery/mockery"包.它所做的唯一改变是Composer会挂在另一个文件上.
在离开Composer这么长时间之后,它最终会退出并出现如下错误:
/path/to/ComposerSetup/bin/composer: line 18: 1356 Segmentation fault php "${dir}/composer.phar" $*
Run Code Online (Sandbox Code Playgroud)
不知道该怎么办......
Ons*_*hop 74
就我而言,它只是在我的 8GB ram Mac 上花费了很长时间。要检查进度并验证它是否正在通过依赖项,请在详细模式下运行 composer。这是我在问题中错过的一种方法,因此值得在此重申。
composer update -vvv
Run Code Online (Sandbox Code Playgroud)
Chr*_*ris 22
事实证明问题在于php的xdebug
扩展.在我的禁用它后php.ini
,作曲家运行没有任何问题.
而且需要注意的是,从缓存中读取文件时实际上并没有发生挂起.这是在作曲家尝试解决依赖关系之后的一步.它从未完成那一步,从未打印输出.这就是为什么无论我做什么,它似乎总是卡在缓存中读取文件.
Dan*_*ouf 15
有时它会卡住,因为它试图使用 HTTP 而不是 https,所以只需运行它
composer config --global repo.packagist composer https://packagist.org
Run Code Online (Sandbox Code Playgroud)
man*_*bcd 13
首先:检查防火墙和代理连接.如果一切正常但作曲家仍然悬挂尝试清除作曲家缓存:
composer clear-cache
Run Code Online (Sandbox Code Playgroud)
https://getcomposer.org/doc/03-cli.md#clear-cache
第二个选项如果这些步骤没有修复你的作曲家,那么系统可能没有足够的RAM内存可用(我遇到了这个问题并且症状与你描述的相同).此时您有两个选择:
a)增加内存(虚拟机或Docker):您的容器或VM需要更多可用内存.请遵循以下指南:https: //stackoverflow.com/a/44533437/3518053
b)生成交换文件(Linux):尝试创建交换文件以提供更多内存:(上述命令来自更新时作曲家被杀死)
free -m
mkdir -p /var/_swap_
cd /var/_swap_
#Here, 1M * 2000 ~= 2GB of swap memory
dd if=/dev/zero of=swapfile bs=1M count=2000
mkswap swapfile
swapon swapfile
chmod 600 swapfile
echo "/var/_swap_/swapfile none swap sw 0 0" >> /etc/fstab
#cat /proc/meminfo
free -m
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22298 次 |
最近记录: |