NPM未知协议

Paw*_*ski 1 node.js npm npm-install

当我跑步时,npm install我得到以下错误.它似乎无法下载任何包.我使用节点8.2.1和npm 5.3.0

你知道什么是错的吗?

npm ERR! code EPROTO
npm ERR! errno EPROTO
npm ERR! request to https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz failed,
reason: write EPROTO 140640770651968:error:140770FC:SSL 
routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:797:
Run Code Online (Sandbox Code Playgroud)

npm日志:

0215 verbose type system
20216 verbose stack FetchError: request to https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz failed, reason: write EPROTO 140640770651968:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:797:
20216 verbose stack
20216 verbose stack     at ClientRequest.req.on.err (/home/pawel/.nvm/versions/node/v8.2.1/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/src/index.js:68:14)
20216 verbose stack     at emitOne (events.js:115:13)
20216 verbose stack     at ClientRequest.emit (events.js:210:7)
20216 verbose stack     at onerror (/home/pawel/.nvm/versions/node/v8.2.1/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/https-proxy-agent/node_modules/agent-base/index.js:106:9)
20216 verbose stack     at callbackError (/home/pawel/.nvm/versions/node/v8.2.1/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/https-proxy-agent/node_modules/agent-base/index.js:126:5)
20216 verbose stack     at <anonymous>
20217 verbose cwd /home/pawel/work/react-components
20218 verbose Linux 4.4.0-83-generic
20219 verbose argv "/home/pawel/.nvm/versions/node/v8.2.1/bin/node" "/home/pawel/.nvm/versions/node/v8.2.1/bin/npm" "install"
20220 verbose node v8.2.1
20221 verbose npm  v5.3.0
20222 error code EPROTO
20223 error errno EPROTO
20224 error request to https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz failed, reason: write EPROTO 140640770651968:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:797:
20225 verbose exit [ 1, true ]
Run Code Online (Sandbox Code Playgroud)

Suh*_*vad 9

我也有这个问题.以下技巧对我有用.

如果你升级你这将是更好nodenpm版本最新.之后,请按照以下步骤操作.

尝试curl https://registry.npmjs.org/package-name从终端运行以确保网络调用不会阻止对npm注册表的包请求.

如果你在a后面运行proxy,那么你还必须配置npm使用它,你可以使用它来设置它:

npm config set proxy http://proxyhost:proxyport

npm config set http-proxy http://proxyhost:proxyport

npm config set https-proxy http://proxyhost:proxyport

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

希望上面的技巧解决你的问题.