原因:
网络代理问题,修复原则:自身电脑没有使用网络代理就不需要配置代理,如果有代理,需要区分代理是否需要账号密码认证,如果需要认证就按照以下流程处理。
背景:公司网络,存在网络代理
代理域名proxy_name = proxy.yiku.com
代理端口号port = 80
在公司登录账号username = xiaoming
密码password = nizhenhao
问题复现:
运行 npm install -g yo generator-code后
报错:
npm ERR! code EPROTO
npm ERR! errno EPROTO
npm ERR! request to https://registry.npm.taobao.org/generator-code failed, reason: write EPROTO 139813970581312:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:ssl/record/ssl3_record.c:332:
npm ERR!
这类错误可能是由于您为网络使用代理而发生的。即使您将代理设置添加到您的PC,也不足以使用npm。因此您必须手动配置代理设置才能使用npm。
配置代理的命令格式如下:
npm config set proxy http://username:password@proxy_name:port
其中,username是用于连接网络的用户名,password是其密码。Proxy name是您在PC中使用的代理或连接的名称。port是PC中的代理运行端口,如8080。
作为演示,此处在终端输入以下命令:
1、查询当前代理配置
npm config ls -l | grep prox
2、配置npm代理指令
npm config set proxy http://xiaoming:nizhenhao@proxy.yiku.com:80
3、查询当前代理配置,检查配置是否生效
npm config ls -l | grep prox
不出意外的话,重新输入npm install -g yo generator-code命令,会出现安装进度条。