这是我第一次使用作曲家。我正在尝试构建一个使用它的项目,但我无法使作曲家正常运行。 对于命令组合器诊断,我每次都会得到以下信息:
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上运行它
答案 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;
}
您可能希望编写一个执行相同检查的小脚本,但不会出现错误抑制。要获取home
和vendor-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));
不要忘记确保您已启用完整错误报告。