我支持业务代理,当我npm i -g npm
更新我的npm时,它会回复:
npm ERR! code EPROTO
npm ERR! errno EPROTO
npm ERR! request to http://registry.npmjs.org/npm failed, reason: write EPROTO 101057795:error:140770FC:SLL routines:SSL23_GET_SERVER_HELLO:unknow protocol:openssl/ssl/s23_clnt.c:825:
npm ERR!
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\username\AppData\Moaming\npm-cache\_logs\2018-01-23T08_15_17_061Z-debug.log
这是npm config:
proxy=http://proxy.###.intra:8080/
https-proxy=https://proxy.###.intra:8080/
registry=http://registry.npmjs.org/
任何帮助都会受到赞赏:)
感谢。
答案 0 :(得分:1)
您也可以使用命令行添加代理:
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8181
npm config set registry https://registry.npmjs.org/
然后您可以使用以下方式检查设置:
npm config ls -l | grep prox
有时,SSL也会产生问题,您可以运行以下命令:
npm config set strict-ssl false
检查您的代理端口,http和https代理端口应该不同。
答案 1 :(得分:0)
真正的问题是创建包含../
的符号链接在命令行中添加此命令以更新您的npm配置:
npm config set bin-links false
答案 2 :(得分:0)
由于用于网络的代理,可能会发生这种错误。即使您将代理设置添加到PC上,也不足以使用npm。因此,您必须手动配置代理设置才能使用npm。
npm config set proxy http://username:password@proxy_name:port
此处用户名是用于连接网络的用户名,而密码是其密码。代理名称是您在PC中使用的代理或连接的名称。端口是PC中的代理运行端口,例如8080。