技术求助:无法从NPM下载任何包,请求https://registry.npmjs.org/yargs失败
解决NPM下载包时的SSL访问拒绝错误
我之前也碰到过一模一样的问题,这个SSL23_GET_SERVER_HELLO:tlsv1 alert access denied错误大概率是网络环境或NPM配置的问题,给你几个亲测有效的解决办法:
检查并关闭代理/VPN
很多时候公司内网、代理服务器会拦截SSL请求,先试试关掉代理或者切换到不受限的网络(比如手机热点),再重新执行安装命令:npm install yargs@4.8.1切换NPM镜像源
默认的registry.npmjs.org源可能在部分地区访问受限,换成国内镜像源就能解决:# 临时切换源安装 npm install yargs@4.8.1 --registry=https://registry.npmmirror.com # 或者永久设置国内源 npm config set registry https://registry.npmmirror.com更新Node.js和OpenSSL版本
错误提示里提到了OpenSSL的问题,旧版本Node.js自带的OpenSSL可能不兼容当前NPM registry的TLS协议版本。去Node.js官网下载最新LTS版本安装,重启终端后再尝试安装。检查防火墙或杀毒软件
本地防火墙、杀毒软件或者公司的安全策略可能会阻断NPM的SSL连接。可以暂时关闭这类软件,或者把npm.exe加入信任列表后重试。手动指定TLS版本(紧急方案)
如果以上方法都没用,可尝试强制NPM使用TLSv1.2版本:npm config set strict-ssl false npm config set tls-min-version TLSv1.2注意:
strict-ssl false会关闭SSL证书验证,仅作为临时应急方案,问题解决后建议改回npm config set strict-ssl true。
内容的提问来源于stack exchange,提问作者Lokesh
相关产品推荐
相关产品推荐

