只有半满的作曲家全盘错误

时间:2018-06-08 13:42:19

标签: php composer-php

这是我第一次使用作曲家。我正在尝试构建一个使用它的项目,但我无法使作曲家正常运行。 对于命令组合器诊断,我每次都会得到以下信息:

PS C:\WinNMP\WWW\Oro> composer diagnose
Checking composer.json: WARNING
Defining autoload.psr-4 with an empty namespace prefix is a bad idea for performance
License "Commercial" is not a valid SPDX license identifier, see https://spdx.org/licenses/ if you use an open license.
If the software is closed-source, you may use "proprietary" as license.
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com oauth access: OK
Checking disk free space: FAIL
The disk hosting C:/Users/Mark/AppData/Roaming/Composer is full

所有其他测试返回OK。我的磁盘有64GB免费。 我试着寻找这个问题,但没有找到帮助。我将php中的内存限制提高到了512mb,在黑暗中没有效果。与此相关的一些帖子表明它内存不足但我的内存从未超过35%的使用率。

我尝试运行composer clear-cache而没有任何影响。

尝试在php 7.2.6,composer 1.6.5上运行它

1 个答案:

答案 0 :(得分:0)

触发此错误消息的函数是:

private function checkDiskSpace($config)
{
    $minSpaceFree = 1024 * 1024;
    if ((($df = @disk_free_space($dir = $config->get('home'))) !== false && $df < $minSpaceFree)
        || (($df = @disk_free_space($dir = $config->get('vendor-dir'))) !== false && $df < $minSpaceFree)
    ) {
        return '<error>The disk hosting '.$dir.' is full</error>';
    }

    return true;
}

您可能希望编写一个执行相同检查的小脚本,但不会出现错误抑制。要获取homevendor-dir的值,您可以运行以下命令:

composer config home
composer config vendor-dir

一个粗略的想法:

$home = trim(`composer config home`);
$vendorDir = trim(`composer config vendor-dir`);

var_dump($home, disk_free_space($home));
var_dump($vendorDir, disk_free_space($vendorDir));

不要忘记确保您已启用完整错误报告。