使用yarn命令安装依赖时出现SSL错误:
error An unexpected error occurred: "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.2.tgz: 39752:error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac:c:\\ws\\deps\\openssl\\openssl\\ssl\\record\\ssl3_record.c:
当你遇到类似错误信息时,通常是原来的淘宝 npm 镜像源http://registry.npm.taobao.org 的 SSL 证书可能已经过期,把这个放到浏览器搜索的时候自动换成https://registry.npmmirror.com/。
解决方案:
-
清除
yarn缓存,你可以通过以下命令来清除缓存:yarn cache clean --force -
切换
yarn源,你可以尝试切换回官方源或其他可靠的源,比如官方源:yarn config set registry https://registry.npmmirror.com -
最后查看
yarn当前镜像源yarn config get registry
-
删除
yarn.lock文件,正常这是没有问题的,但是对于一些旧的项目,node版本比较低,删除yarn.lock会出现The engine "node" is incompatible with this module. Expected version ">=18". Got "13.10.0"的情况,这个时候可以不用删除yarn.lock,只需要找到yarn.lock文件,把里面的https://registry.npm.taobao.org/全部替换成https://registry.npmmirror.com/即可 -
最后再删除
node_modules文件夹,然后重新yarn即可。