作曲家版本:2.0.4
操作系统:macOS 10.15.7
当我运行 composer 诊断时,我遇到了 DNS 解析器问题,如附图所示
我可以从终端 ping getcomposer.org、packagist.org、github.com - 所有站点。
curl -i packagist.org -L 也按预期工作,没有任何错误
然而,通过作曲家诊断,我遇到了 DNS 解析器问题
这在我将 PHP 从 7.4.1 升级到 7.4.12 并更新到 composer 2 之后开始发生
可能是什么问题,我该如何解决
作为可搜索的文本代码 - composer 2.0.4 诊断失败
$ composer diagnose
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: FAIL
The following exception probably indicates you have misconfigured DNS resolver(s)
[Composer\Downloader\TransportException] Resolving timed out after 10003 milliseconds
Checking https connectivity to packagist: FAIL
The following exception probably indicates you have misconfigured DNS resolver(s)
[Composer\Downloader\TransportException] Resolving timed out after 10003 milliseconds
Checking github.com rate limit: FAIL
[Composer\Downloader\TransportException] Resolving timed out after 10004 milliseconds
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0 87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B 0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: FAIL
[Composer\Downloader\TransportException] Resolving timed out after 10002 milliseconds
Composer version: 2.0.4
PHP version: 7.4.12
PHP binary path: /usr/local/Cellar/php/7.4.12/bin/php
OpenSSL version: OpenSSL 1.1.1h 22 Sep 2020
cURL version: 7.73.0 libz 1.2.11 ssl OpenSSL/1.1.1h
zip extension: OK
Run Code Online (Sandbox Code Playgroud)
我刚刚卸载了 composer 2.0.4 并安装了 composer 1.10.17 和其余的包/应用程序,它运行时没有任何 DNS 解析器错误
作为可搜索的文本代码编写器 1.10.17 诊断
composer diagnose
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0 87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B 0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: You are not running the latest stable version, run `composer self-update` to update (1.10.17 => 2.0.4)
Composer version: 1.10.17
PHP version: 7.4.12
PHP binary path: /usr/local/Cellar/php/7.4.12/bin/php
OpenSSL version: OpenSSL 1.1.1h 22 Sep 2020
Run Code Online (Sandbox Code Playgroud)
那么这是否意味着 composer 2.0.4 有一些问题?或者与我设置的其他应用程序/软件包不兼容?
我想使用 composer 2.x,那么我该怎么做才能使它工作?
归根结底,这不是“作曲家”的问题,而是底层连接技术的问题。Composer 2curl默认使用,而 Composer 1 使用 PHP 流......显然它们对不同的网络配置和错误配置并不同样敏感或宽容。
需要检查和重新检查的一些事项:
您的 DNS 设置。检查没有错误配置的条目。只是为了改变它,如果您可以将您的 DNS 提供商更改为“已知良好”的提供商。例如 Cloudflare 的 ( 1.1.1.1) 或 Google 的 ( 8.8.8.8, 8.8.4.4),并删除所有其他条目。
IPV6 连接。如果您启用了它,您可能需要禁用它,因为一些用户报告了它的问题。
禁用您可能用于连接到 Internet 的任何 VPN,因为它们可能会干扰您的连接。
在这个问题上,一些用户评论了类似的问题。