npm ERR! code ERR_TLS_CERT_ALTNAME_INVALID
npm ERR! errno ERR_TLS_CERT_ALTNAME_INVALID
npm ERR! request to https://registry.npmjs.org/http-server failed, reason: Hostname/IP does not match certificate's altnames: Host: registry.npmjs.org. is not in the cert's altnames: DNS:a.sni.fastly.net, DNS:a.sni.global-ssl.fastly.net
If your npm is broken: On Mac or Linux, reinstall npm. Windows: If you're on Windows and you have a broken installation, the easiest thing to do is to reinstall node from the official installer (see this note about installing the latest stable version).
For Node. js projects, the easiest way to install npm packages is through the npm package installation window. To access this window, right-click the npm node in the project and select Install New npm Packages. In this window you can search for a package, specify options, and install.
On Windows, the cause of this error could be that a PATH or system variable is not correctly set. The error can also occur if you do not have npm or Node. js installed, have an outdated version, or have permission issues.
Run npm update -g npm. Execute this command by running the command prompt as Administrator npm install -g windows-build-tools. Run npm install inside the project folder where the package. json file is located, if it doesn't work run: npm install --force.
It seems that it's a real problem on the NPM servers. I see the same error when navigating to https://registry.npmjs.org/http-server
in a browser. The server indeed doesn't have a valid certificate. Nothing Windows-specific.
NPM reports there's an issue with incorrect DNS information being cached, here: https://status.npmjs.org/incidents/v22ffls5cd6h
Until the cache clears up, they suggest doing the following:
dig registry.npmjs.com @1.1.1.1
Update: A bit unrelated, for ones using yarn
: Yarn's mirror of the NPM registry seems to be affected by this problem too, so it seems that at the moment all we can do is wait until the issue resolves itself or the Yarn team applies a workaround on the server.
The officially suggested solution with adding IPs found via the dig command into the hosts file somehow didn't work for me.
I found that there is a strict-ssl configuration option for npm.
Creating a .npmrc file in my project folder with strict-ssl = false
solved the issue.
I find this solution safer and more isolated since editing the hosts file might not be possible for everyone and when it is, it will cause every request made from your computer to be routed to a specific IP address.
I plan to remove that file when this temporary issue is fixed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With