Daniel Segal
Daniel Segal

Reputation: 31

HardHat Unable to download compiler versions list

So this is my first interaction with hardhat. I created a sample project using npx hardhat but for some reason, when I try to Run:

npx hardhat test

I get the following error:

Error HH502: Couldn't download compiler versions list. Please check your connection.

With the following error in the stack trace:

Caused by: FetchError: request to https://binaries.soliditylang.org/windows-amd64/list.json failed, reason: getaddrinfo EAI_AGAIN binaries.soliditylang.org

So I tried navigating to binaries.soliditylang.org with Chrome and I found out that I'm getting net::ERR_NAME_NOT_RESOLVED.

(I get this error even when I try to navigate to docs.soliditylang.org)

I understand it has something to do with DNS but I don't have a clue how to solve it.

Upvotes: 3

Views: 4433

Answers (4)

rejkowic
rejkowic

Reputation: 363

Changing owner of hardhat cache directory worked for me.

sudo chown -R $USER /Users/$USER/Library/Caches/hardhat-nodejs

Upvotes: 0

John Targaryen
John Targaryen

Reputation: 1194

Had to sudo chmod -R 777 /Users/<username>/Library/Caches/hardhat-nodejs first.

Upvotes: 0

d3vnull10
d3vnull10

Reputation: 51

Adding an .env file to the root of the project with

HTTPS_PROXY = ...

Solved in https://github.com/NomicFoundation/hardhat/pull/1291

Upvotes: 1

msingh
msingh

Reputation: 549

I faced similar issue. However, for me hardhat is not able to download list of compiler versions behind corporate proxy. Tried a lot of things. No luck. After a lot of trial and errors, found a way to make this work. Download list.json and keep it locally at C:\Users\<your-user>\AppData\Local\hardhat-nodejs\Cache\compilers\windows-amd64 (windows). Also, download the solidity compiler executable for windows (required version) from https://github.com/ethereum/solidity/releases and place it in the same folder mentioned above. Now, peruse your list.json and identify the object for the solc compiler version of interest. Rename the executable as with the long name given in path in that object. For e.g., if you need solc version 0.8.0, the path in list.json for 0.8.0 version is solc-windows-amd64-v0.8.4+commit.c7e474f2.exe. Use this to rename the downloaded executable. Now, run npm test. This should fix the issue.

There is also an interesting way to run the compiler within docker on windows. For this, follow the discussion here - https://github.com/NomicFoundation/hardhat/issues/1280

Upvotes: 3

Related Questions