I am using nvm to manage my node versions. I have a project that users node 6.10.2. With something as simple as npm install -g gulp
I get the following error:
write EPROTO 101057795:error:1408D07B:SSL routines:ssl3_get_key_exchange:bad signature:openssl\ssl\s3_clnt.c:20
I have added strict-ssl false to my config which hasn't helped. I am not behind a proxy, I have tried it behind my corporate firewall, home network and even my mobile hotspot, all with the same error. I changed to use http:// instead of https:// using npm config set registry http://registry.npmjs.org/
which gets me past the gulp error but then with other packages the error returns (presumably because they are pulling from a different registry). And using http:// worries me about security anyway.
I get the same results with node 6.10.2 and 7.4.0. If I jump to the latest node, 12.18.0 the errors don't happen, but the project I'm working on does not support that new of node version. At a loss as to what else to try.
This is the error part of the npm-debug.log file:
103 verbose stack Error: write EPROTO 101057795:error:1408D07B:SSL routines:ssl3_get_key_exchange:bad signature:openssl\ssl\s3_clnt.c:2032:
103 verbose stack
103 verbose stack at exports._errnoException (util.js:1018:11)
103 verbose stack at WriteWrap.afterWrite (net.js:804:14)
104 verbose cwd C:\code\extraspace.web.pointofsale
105 error Windows_NT 10.0.18363
106 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "gulp"
107 error node v6.10.2
108 error npm v3.10.10
109 error code EPROTO
110 error errno EPROTO
111 error syscall write
112 error write EPROTO 101057795:error:1408D07B:SSL routines:ssl3_get_key_exchange:bad signature:openssl\ssl\s3_clnt.c:2032: