DNS 解析器问题 Composer 2

问题描述 投票:0回答:7

Composer版本:2.0.4

操作系统:macOS 10.15.7

当我运行作曲家诊断时,我遇到 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

屏幕截图 - 作曲家 1.10.17 诊断

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

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

php composer-php
7个回答
15
投票

归根结底,这不是“作曲家”的问题,而是底层连接技术的问题。 Composer 2 默认使用

curl
,而 Composer 1 使用 PHP 流...显然它们对不同的网络配置和错误配置并不同样敏感或宽容。

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

  • 您的 DNS 设置。检查是否没有错误配置的条目。只是为了它,如果您可以将您的 DNS 提供商更改为“已知良好”的提供商。例如。 Cloudflare 的 (

    1.1.1.1
    ) 或 Google 的 (
    8.8.8.8
    8.8.4.4
    ),并删除所有其他条目。

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

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

关于这个问题一些用户评论了类似的问题。


3
投票

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


1
投票

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


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

0
投票

在cmd中尝试这个

ipconfig /flushdns
。 对我有用。


0
投票

这只是因为我的以太网是私有的,而不是公共的。建议使用公共模式以授予对主机的访问权限。网络配置文件应公开,以免被发现。


-2
投票

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

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

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

希望这能解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.