43

For a solution, see below

It was working yesterday, but I don't know what happened to it.

NPM is not installing the package. The hostname/IP address doesn't match the 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

This is what I was trying to do:

>> ROOT: }   npm install
up to date in 1.797s

>> ROOT: }   npm install express-messages
npm ERR! request to https://registry.npmjs.org/express-messages failed, reason: Hostname/IP doesn't 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"

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/prashant/.npm/_logs/2018-09-01T11_54_09_205Z-debug.log
>> ROOT: }

I have read all the articles/issues that I could find and also have re-installed Node.js and npm, but after that too I have the same issue.

OS: macOS v10.12 (Sierra) (16A323)

LOGS

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'install',
1 verbose cli   'express-messages' ]
2 info using npm@5.6.0
3 info using node@v8.11.4
4 verbose npm-session 54f0308df52fc8a7
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 silly fetchPackageMetaData error for express-messages@latest request to https://registry.npmjs.org/express-messages failed, reason: Hostname/IP doesn't 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"
8 verbose type system
9 verbose stack FetchError: request to https://registry.npmjs.org/express-messages failed, reason: Hostname/IP doesn't 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"
9 verbose stack     at ClientRequest.req.on.err (/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/src/index.js:68:14)
9 verbose stack     at emitOne (events.js:116:13)
9 verbose stack     at ClientRequest.emit (events.js:211:7)
9 verbose stack     at TLSSocket.socketErrorListener (_http_client.js:387:9)
9 verbose stack     at emitOne (events.js:116:13)
9 verbose stack     at TLSSocket.emit (events.js:211:7)
9 verbose stack     at emitErrorNT (internal/streams/destroy.js:64:8)
9 verbose stack     at _combinedTickCallback (internal/process/next_tick.js:138:11)
9 verbose stack     at process._tickCallback (internal/process/next_tick.js:180:9)
10 verbose cwd /Users/prashant/Desktop/NodeJs-login-registration
11 verbose Darwin 16.0.0
12 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "express-messages"
13 verbose node v8.11.4
14 verbose npm  v5.6.0
15 error request to https://registry.npmjs.org/express-messages failed, reason: Hostname/IP doesn't 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"
16 verbose exit [ 1, true ]

BROWSER image link: https://i.stack.imgur.com/2JV3q.jpg

But I have already tried to change the SSL setting npm config ls -l by npm set strict-ssl false.

It stucks on this image link: https://i.stack.imgur.com/9LEEC.jpg

And then this error: https://i.stack.imgur.com/wcj1q.jpg

Update

My application is running fine. It's just I am not able to install packages https://i.stack.imgur.com/L4L5i.jpg

There is a new kind of error that comes when I try to stop the server (Note: I have changed the SSL setting as mentioned above, if it has something to do with that) https://i.stack.imgur.com/kL53O.jpg

>> ROOT: }   npm start

> nodejs-login-registration@1.0.0 start /Users/prashant/Desktop/NodeJs-login-registration
> nodemon app.js

[nodemon] 1.18.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node app.js`
Remember :  start mongoDB demon -->   mongod   &&   mongo
-- Server live : 3000 --
Connected to DB :  SUCCESS

^Cnpm ERR! code ELIFECYCLE
npm ERR! errno 130
npm ERR! nodejs-login-registration@1.0.0 start: `nodemon app.js`
npm ERR! Exit status 130
npm ERR!
npm ERR! Failed at the nodejs-login-registration@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/prashant/.npm/_logs/2018-09-01T13_10_55_028Z-debug.log
>> ROOT: }

Logs: when I stop the server

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'start' ]
2 info using npm@5.6.0
3 info using node@v8.11.4
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle nodejs-login-registration@1.0.0~prestart: nodejs-login-registration@1.0.0
6 info lifecycle nodejs-login-registration@1.0.0~start: nodejs-login-registration@1.0.0
7 verbose lifecycle nodejs-login-registration@1.0.0~start: unsafe-perm in lifecycle true
8 verbose lifecycle nodejs-login-registration@1.0.0~start: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/prashant/Desktop/NodeJs-login-registration/node_modules/.bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Python.framework/Versions/3.6/bin
9 verbose lifecycle nodejs-login-registration@1.0.0~start: CWD: /Users/prashant/Desktop/NodeJs-login-registration
10 silly lifecycle nodejs-login-registration@1.0.0~start: Args: [ '-c', 'nodemon app.js' ]
11 silly lifecycle nodejs-login-registration@1.0.0~start: Returned: code: 130  signal: null
12 info lifecycle nodejs-login-registration@1.0.0~start: Failed to exec start script
13 verbose stack Error: nodejs-login-registration@1.0.0 start: `nodemon app.js`
13 verbose stack Exit status 130
13 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at EventEmitter.emit (events.js:214:7)
13 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at emitTwo (events.js:126:13)
13 verbose stack     at ChildProcess.emit (events.js:214:7)
13 verbose stack     at maybeClose (internal/child_process.js:925:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid nodejs-login-registration@1.0.0
15 verbose cwd /Users/prashant/Desktop/NodeJs-login-registration
16 verbose Darwin 16.0.0
17 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
18 verbose node v8.11.4
19 verbose npm  v5.6.0
20 error code ELIFECYCLE
21 error errno 130
22 error nodejs-login-registration@1.0.0 start: `nodemon app.js`
22 error Exit status 130
23 error Failed at the nodejs-login-registration@1.0.0 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 130, true ]

.

.

.

I found a solution that worked for me

dig www.npmjs.com @1.1.1.1
  1. Add the IP address to your /etc/hosts file.

    Go to this directory and do sudo nano hosts.

And add this into the host file: 1.1.1.1 a.sni.fastly.net.

Community
  • 1
  • 1
user6202188
  • 540
  • 1
  • 6
  • 13
  • 4
    Possible duplicate of [Node.js Hostname/IP doesn't match certificate's altnames](https://stackoverflow.com/questions/14262986/node-js-hostname-ip-doesnt-match-certificates-altnames) – coderroggie Sep 01 '18 at 12:47
  • 1
    Possible duplicate of [I am facing error while trying to install npm packages on windows, I am using node v10.9.0](https://stackoverflow.com/questions/52127857/i-am-facing-error-while-trying-to-install-npm-packages-on-windows-i-am-using-no) – Jayendran Sep 01 '18 at 12:48
  • 1
    @HardikShah how that works on mac? – user6202188 Sep 01 '18 at 12:51
  • 1
    I have the exact same issue, however I just installed crypto via yarn and openssl via brew – Ed Knowles Sep 01 '18 at 12:56
  • @EK i don't want to have two different package managers in one project. – user6202188 Sep 01 '18 at 13:00
  • Opps, I hit the same error. It then seems that something is wrong with NodeJS server. – Han Sep 01 '18 at 13:03
  • @coderroggie how to use that options the post mentions, i searched it in the npm config file .npmrc and there is no such option in that. what do i do? – user6202188 Sep 01 '18 at 13:04
  • @Han I don't know my application is working fine, its just i am not able to install packages – user6202188 Sep 01 '18 at 13:07
  • Your solution should not (and does not for me) work. The SSL cert issue is because the snl.fastly.net domain is not registry.npmjs.org and that's what SSL is complaining about. @kangur has an actual registry.npmjs.org IP and that works well. – Routhinator Sep 01 '18 at 14:07
  • I would recommend using yarn instead of npm, as personally I have experienced that dependency management of yarn is far better than npm. – Jignesh M. Khatri Sep 01 '18 at 15:41
  • @user6202188 Try again, at least for me it's working now. A hiccup to the server. – Han Sep 01 '18 at 15:50
  • 2
    This is a global problem. A DNS problem. This is working for me "temporarily": [https://status.npmjs.org/incidents/v22ffls5cd6h](https://status.npmjs.org/incidents/v22ffls5cd6h) – Jakub Sep 01 '18 at 13:15

3 Answers3

30

Add the following line to the /etc/hosts file:

104.16.16.35 registry.npmjs.org
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Kangur
  • 271
  • 1
  • 2
  • 3
  • I did something and it works, see the post above, i have update the solution check it out – user6202188 Sep 01 '18 at 14:00
  • 2
    I needed this answer. 1.1.1.1 is now returning the corruped a.sni.fastly.net ip's for me instead of the actual registry IPs. – Routhinator Sep 01 '18 at 14:03
  • 1
    I can confirm that this works. Adding the below line /etc/hosts on my dev machine fixed this issue. 104.16.16.35 registry.npmjs.org – Gavster Sep 01 '18 at 14:26
  • Curious.. how did you get this IP address? It doesn't work for me and I'm using Windows 10 – burnt1ce Sep 01 '18 at 14:38
  • **Note: This is a temporary issue currently.** You should remove this line from your hosts file after the weekend. This is a global issue that is being monitored by NPM, due to be resolved by Monday. [NPM DNS Issue](https://status.npmjs.org/incidents/v22ffls5cd6h) – user2977468 Sep 01 '18 at 15:29
  • 1
    @burnt1ce That's likely the IP address the user gets when digging into the npmjs.org from their geographic region. I'm in the SE US & when I dig npmjs.org I see my resolved IP is `104.16.109.30` I've not performed any networking work on Windows in many years, but I would imagine you have a `dig`, or dig-like command line utility to help in determining the IP address you should use (_until the weekend end_ ^^ See previous comment) – user2977468 Sep 01 '18 at 15:35
  • I added 104.16.92.83 registry.npmjs.org in etc/hosts file but it throws the same error – Parth Jasani Apr 24 '19 at 11:34
22

npmjs has a DNS problem according to its incident report: DNS misconfiguration cached in ISP DNS caches.

To solve your problem, do this:

  1. dig www.npmjs.com @1.1.1.1

    Sample output on Linux

    ; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.npmjs.com @1.1.1.1
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50308
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 1452
    ;; QUESTION SECTION:
    ;www.npmjs.com.                 IN      A
    
    ;; ANSWER SECTION:
    www.npmjs.com.          128     IN      CNAME   www.npmjs.com.cdn.cloudflare.net.
    www.npmjs.com.cdn.cloudflare.net. 151 IN A      104.16.109.30
    www.npmjs.com.cdn.cloudflare.net. 151 IN A      104.16.110.30
    
    ;; Query time: 2 msec
    ;; SERVER: 1.1.1.1#53(1.1.1.1)
    ;; WHEN: Sat Sep 01 14:05:56 UTC 2018
    ;; MSG SIZE  rcvd: 120
    
    1. Get resolved IP address: 104.16.109.30 in my case

    2. Add new entry in your /etc/hosts file

      echo "104.16.110.30 www.npmjs.com registry.npmjs.org" >> /etc/hosts

    Do not forget to remove this line at the end of the weekend.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
shadaï ALI
  • 1,447
  • 1
  • 11
  • 11
3

Try to change the default registry:

npm config set registry http://registry.npmjs.org

For everyone who is stuck with mup deploy:

docker: { // change to 'abernix/meteord:base' if your app is using Meteor 1.4 - 1.5 image: 'abernix/meteord:node-8.4.0-base', buildInstructions: [ 'RUN npm config set strict-ssl false' ] },

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
alexey
  • 1,381
  • 9
  • 19