Composer version: 2.0.4
OS: macOS 10.15.7
When I run composer diagnose I get DNS resolver issue as seen in the attached image
I am able to ping getcomposer.org, packagist.org, github.com – all sites from the terminal.
curl -i packagist.org -L
also works as expected without any error
Yet with composer diagnose I am getting DNS resolver issue
This started happening after I upgraded PHP from 7.4.1 to 7.4.12 and updating to composer 2
What could be the issue and how can I fix it
As searchable text code – composer 2.0.4 diagnose failing
$ 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)
[ComposerDownloaderTransportException] Resolving timed out after 10003 milliseconds
Checking https connectivity to packagist: FAIL
The following exception probably indicates you have misconfigured DNS resolver(s)
[ComposerDownloaderTransportException] Resolving timed out after 10003 milliseconds
Checking github.com rate limit: FAIL
[ComposerDownloaderTransportException] 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
[ComposerDownloaderTransportException] 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
Screenshot – composer 2.0.4 diagnose failing
I just uninstalled composer 2.0.4 and installed composer 1.10.17 with rest of the packages/apps as it is and it runs without any DNS resolver error
As searchable text code composer 1.10.17 diagnose
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
Screenshot – composer 1.10.17 diagnose
So does it mean that composer 2.0.4 has some issues? or is incompatible with my setup of other apps/packages?
I want to use composer 2.x, so what do I do to make it work?
6
Answers
In the end, it’s not a "composer" problem, but of the underlying connectivity technology. Composer 2 uses
curl
by default, whereas Composer 1 used PHP streams… and apparently they are not equally sensitive or forgiving to different network configurations and misconfigurations.Some things to check and re-check:
Your DNS settings. Check that there are no wrongly configured entries. Just for the sake of it change if you can your DNS provider to a "known good" one. E.g. Cloudflare’s (
1.1.1.1
), or Google’s (8.8.8.8
,8.8.4.4
), and remove all other entries.IPV6 connectivity. You many need to disable it if you have it enabled, since some users reported issues with it.
Disable any VPNs you may be using to connect to the Internet, since they may interfere with your connectivity.
On this issue some users have commented on similar problems.
if you have any VPN running try to disable and check again in my case that was the issue .
On my work laptop (Mac) I had to have my employer DNS server as first DNS server, which failed to response when I wasnt in the network (or connected via VPN). I had to manually change it to use another DNS server first instead. VPN still works by this change. (For now?)
I was solved this problem assigning a network
For Ubuntu the configuration file /etc/resolv.conf contains information that allows a computer connected to a network to resolve names into addresses.
Change it to, for example, Google’s DNS servers:
nameserver 8.8.8.8
nameserver 8.8.4.4
Hope this will resolve the issue.
Try this
ipconfig /flushdns
in cmd.It works on me.