6

作曲家版本:2.0.4

操作系统:macOS 10.15.7

当我运行 composer diagnostic 时,我得到了 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

屏幕截图 - composer 2.0.4 诊断失败 在此处输入图像描述

我刚刚卸载了 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

截图 - composer 1.10.17 诊断 composer 2.0.4 诊断失败

那么这是否意味着 composer 2.0.4 有一些问题呢?还是与我设置的其他应用程序/包不兼容?

我想使用composer 2.x,那么我该怎么做才能让它工作呢?

4

5 回答 5

11

最后,这不是“作曲家”的问题,而是底层连接技术的问题。Composer 2curl默认使用,而 Composer 1 使用 PHP 流......显然它们对不同的网络配置和错误配置并不同样敏感或宽容。

需要检查和重新检查的一些事项:

  • 您的 DNS 设置。检查没有错误配置的条目。如果您可以将您的 DNS 提供商更改为“已知良好”的提供商,那么只是为了改变它。例如 Cloudflare 的 ( 1.1.1.1) 或 Google 的 ( 8.8.8.8, 8.8.4.4),并删除所有其他条目。

  • IPV6 连接。如果您启用它,很多人需要禁用它,因为一些用户报告了它的问题。

  • 禁用您可能用于连接到 Internet 的任何 VPN,因为它们可能会干扰您的连接。

这个问题上,一些用户评论了类似的问题。

于 2020-11-05T06:47:53.243 回答
2

如果您有任何 VPN 正在运行,请尝试禁用并再次检查我的情况,这就是问题所在。

于 2020-11-13T12:17:30.443 回答
1

在我的工作笔记本电脑(Mac)上,我必须将我的雇主 DNS 服务器作为第一个 DNS 服务器,当我不在网络中(或通过 VPN 连接)时,它无法响应。我不得不手动将其更改为先使用另一个 DNS 服务器。VPN 仍然可以通过此更改工作。(目前?)

网络设置

于 2020-11-19T15:52:52.970 回答
0

我解决了分配网络的这个问题

# docker network create --subnet=172.19.0.0/24 net-composer
# docker run --rm -v $(pwd):/app  --interactive --tty --network net-composer   composer install
于 2021-05-21T18:30:41.580 回答
-1

对于 Ubuntu,配置文件 /etc/resolv.conf 包含允许连接到网络的计算机将名称解析为地址的信息。

例如,将其更改为 Google 的 DNS 服务器:

名称服务器 8.8.8.8 名称服务器 8.8.4.4

希望这能解决问题。

于 2021-09-08T07:56:21.440 回答