【问题标题】:DNS resolver issue Composer 2DNS 解析器问题 Composer 2
【发布时间】:2021-09-08 15:56:21
【问题描述】:

作曲家版本:2.0.4

操作系统:macOS 10.15.7

当我运行 composer diagnostic 时,我遇到了 DNS 解析器问题,如附图所示

我可以从终端 ping getcomposer.org、packagist.org、github.com - 所有站点。

curl -i packagist.org -L 也可以正常工作,没有任何错误

但使用 composer diagnostic 我遇到了 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.x,我该怎么做才能让它工作?

【问题讨论】:

  • 对我来说,它有助于断开并重新连接我的互联网连接。

标签: php composer-php


【解决方案1】:

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

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

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

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

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

this issue上,有网友评论过类似问题。

【讨论】:

  • 在网络设置中将8.8.8.81.1.1.1 添加到“DNS 服务器”的顶部似乎有效。我什至不必禁用 IPV6。谢谢。
  • 是的,DNS 不工作。 askubuntu.com/a/1353199/48214 帮助了我。
  • 谢谢@Ryan,原来我的 resolv.conf 符号链接到我之前卸载的 laravel 代客
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      我解决了分配网络的问题

      # docker network create --subnet=172.19.0.0/24 net-composer
      # docker run --rm -v $(pwd):/app  --interactive --tty --network net-composer   composer install
      

      【讨论】:

        【解决方案5】:

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

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

        域名服务器 8.8.8.8 域名服务器 8.8.4.4

        希望这能解决问题。

        【讨论】:

          猜你喜欢
          • 2015-01-12
          • 1970-01-01
          • 2017-02-13
          • 1970-01-01
          • 2020-02-04
          • 2018-09-13
          • 1970-01-01
          • 2012-08-19
          • 2018-06-05
          相关资源
          最近更新 更多