【已解决】ERROR Failed to get response from https://registry.npm.taobao.org/binary-mirror-config,完整解决方案

4 篇文章 0 订阅

【已解决】ERROR Failed to get response from https://registry.npm.taobao.org/binary-mirror-config,完整解决方案,附解决记录 

一、造成报错的原因 :

ERROR  Failed to get response from https://registry.npm.taobao.org/binary-mirror-config

意思是淘宝镜像源到期了

//原因:

原NPM淘宝域名证书过期提醒:npm.taobao.org和registry.npm.taobao.org旧域名于2021年官方公告域名更换事件,已于2022年05月31日零时起停止服务,域名HTTPS证书于2024年1月22日正式到期,不可再用。若有前端工程仍使用旧域名镜像源,会导致编译失败或超时,影响功能迭代上线。为避免受到严重影响,请尽快将代码或流水线中配置的镜像源修改为以下任意源:x-repo(推荐):http://x-repo.haier.net/repository/npm-public/;淘宝的新域名:https://registry.npmmirror.com/
 

如果你“赶时间”,可以直接看“解决方法”,跳过“解决过程记录”


二、解决过程记录

查看npm的镜像源

npm config get

; "builtin" config from C:\Program Files\nodejs\node_modules\npm\npmrc

prefix = "C:\\Users\\cpeng\\AppData\\Roaming\\npm"

; "user" config from C:\Users\cpeng\.npmrc

python = "C:\\Users\\cpeng\\AppData\\Local\\Programs\\Python\\Python37\\python.exe"
Python = "C:\\Users\\cpeng\\AppData\\Local\\Programs\\Python\\Python37\\python.exe"
registry = "https://registry.npm.taobao.org/"
sass_binary_site = "https://npm.taobao.org/mirrors/node-sass"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = D:\2 CodeTest\JJYChengScrollListening.js\VuePackage_JJYChengSL
; HOME = C:\Users\cpeng
; Run `npm config ls -l` to show all defaults.

应该是这2个出现了问题

registry = "https://registry.npm.taobao.org/"
sass_binary_site = "https://npm.taobao.org/mirrors/node-sass"

修改镜像源,修改为官方的

npm config set registry https://registry.npmjs.org
npm config set sass_binary_site https://registry.npmjs.org

查看修改结果

npm config get
; "builtin" config from C:\Program Files\nodejs\node_modules\npm\npmrc

prefix = "C:\\Users\\cpeng\\AppData\\Roaming\\npm"

; "user" config from C:\Users\cpeng\.npmrc

python = "C:\\Users\\cpeng\\AppData\\Local\\Programs\\Python\\Python37\\python.exe"
Python = "C:\\Users\\cpeng\\AppData\\Local\\Programs\\Python\\Python37\\python.exe"
registry = "https://registry.npmjs.org/"
sass_binary_site = "https://registry.npmjs.org"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = D:\2 CodeTest\JJYChengScrollListening.js\VuePackage_JJYChengSL
; HOME = C:\Users\cpeng
; Run `npm config ls -l` to show all defaults.

这么看的话,应该是没有问题了

更新npm缓存

npm cache clean --force

 警告了

 使用“npm cache verify”

npm cache verify

创建项目还是有问题

执行 npm set strict-ssl false

npm set strict-ssl false

这个的意思是

关闭 npm ssl 严格证书检查

npm config set strict-ssl false 命令会将 npm 的 strict-ssl 选项设置为 false

strict-ssl 选项是 npm 中用于控制 SSL 证书校验的选项。当 strict-ssl 设置为 true 时,npm 会对连接的服务器的 SSL 证书进行严格的校验,并要求它是由可信的认证机构颁发的。如果校验失败,npm 将无法连接到服务器并会报错。

当 strict-ssl 设置为 false 时,npm 将不会对服务器的 SSL 证书进行校验,并且即使证书是由不可信的认证机构颁发的也不会报错。这可能会导致安全风险,因为你的网络流量可能被劫持或篡改,而你并不会意识到这一点。因此,应该尽量避免使用 strict-ssl 设置为 false

如果你确实需要使用 strict-ssl 设置为 false,例如你所连接的服务器使用的是自签名的 SSL 证书,应该只在短时间内使用,并在操作完成后尽快将 strict-ssl 设置回 true

再次创建项目就执行成功了,但是,镜像不能用的问题还是没有解决,直接绕过了SSL证书的检查

【*】可能是全局安装的原因,造成的问题

如果你也这样觉得,那么你的思路和方向,是错误的。

npm的配置文件里面我们已经做了修改

所以不可能是npm的问题

问题是出现在vue的cli上面

【*】vue的cli

你可以这样认为,你使用npm构建项目或者做其他操作的时候,它走的是你配置的npm镜像。

你使用vue脚手架,构建项目或者做其他操作的时候,它走的是脚手架配置的镜像。

这样问题就很明白了。

【*】修改vue的cli镜像 

vue@cli使用了自己定义的镜像,位置在
npm全局目录下面的@vue\cli\lib\util\registries.js,
这个文件的内容为:

const registries = {
  npm: 'https://registry.npmjs.org',
  yarn: 'https://registry.yarnpkg.com',
  taobao: 'https://registry.npm.taobao.org',
  pnpm: 'https://registry.npmjs.org'
}

module.exports = registries
完整路径:
C:\Users\你的系统用户名\AppData\Roaming\npm\node_modules\@vue\cli\lib\util\registries.js

把taobao地址换成最新的,保存就不会有这个错误了

淘宝的新域名:https://registry.npmmirror.com/

 修改后

const registries = {
  npm: 'https://registry.npmjs.org',
  yarn: 'https://registry.yarnpkg.com',
  taobao: 'https://registry.npmmirror.com',
  pnpm: 'https://registry.npmjs.org'
}

module.exports = registries

参考:

https://www.cnblogs.com/lybaobei/p/18044719

感谢博主分享,

【*】你也可以通过修改vue的config来解决这个问题

vue config

修改

vue config -s useTaobaoRegistry false

 查看

vue config

已经改过来了

【*】创建项目-成功

vue create vuedom2

不再报错了


三、解决方法

每一个步骤都得操作

每一个步骤都得操作

每一个步骤都得操作

重要的话说三遍

3.2.1和3.2.2可以自由选择,不过,我建议只需要处理好3.2.2即可

淘宝的新域名:

https://registry.npmmirror.com/

3.1、修改npm镜像源:

 修改镜像源,修改为官方的

npm config set registry https://registry.npmmirror.com/
npm config set sass_binary_site https://registry.npmmirror.com/

查看修改结果

npm config get

 更新npm缓存

npm cache clean --force

 警告了, 使用“npm cache verify”

npm cache verify

3.2、修改vue配置

3.2.1和3.2.2可以自由选择,不过,我建议只需要处理好3.2.2即可

 3.2.1、修改vue的config

vue config

修改

vue config -s useTaobaoRegistry false

 查看

vue config

已经改过来了

3.2.2、修改vue的cli的镜像registries.js

文件路径:

C:\Users\你的系统用户名\AppData\Roaming\npm\node_modules\@vue\cli\lib\util\registries.js

把taobao地址换成最新的,保存就不会有这个错误了

const registries = {
  npm: 'https://registry.npmjs.org',
  yarn: 'https://registry.yarnpkg.com',
  taobao: 'https://registry.npmmirror.com',
  pnpm: 'https://registry.npmjs.org'
}

module.exports = registries


四、你还可以通过“nrm”工具,来自由管理“npm”的镜像

nrm(npm registry manager)是npm的镜像管理工具,有时候国外的资源太慢,使用这个就可以快速地在npm源间切换。

4.1安装nrm


在命令行执行命令,npm install -g nrm,全局安装nrm。

npm install -g nrm

4.2查看当前源

nrm ls

4.3切换

nrm use taobao
nrm use 名称

4.4增加

nrm add taobao https://registry.npmmirror.com/
nrm add 名称 地址

4.5删除

nrm del 名称

4.6测试速度

nrm test 名称

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙-极纪元JJY.Cheng

客官,1分钱也是爱,给个赏钱吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值