npm install 时报错,“npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED”。

1、尝试清除npm缓存和取消SSL验证。

npm cache clean --force
npm config set strict-ssl false

2、再次执行npm install ---

3、如果还是报错,可以换个源,如:

npm config set registry http://registry.npm.taobao.org

### 解决方案 当遇到 `npm ERR! code CERT_HAS_EXPIRED` 错误,通常是因为目标服务器的 SSL 证书已过期或客户端无法验证其有效性。在这种情况下,可以采取以下措施来解决问题。 #### 方法一:切换到可靠的 NPM 镜像源 由于淘宝镜像源 (`https://registry.npm.taobao.org`) 的证书可能存在问题,建议更换为更稳定的官方或其他可信的镜像源。以下是具体操作: 1. **清空缓存** 使用以下命令清除本地 npm 缓存以避免潜在冲突: ```bash npm cache clean --force ``` 2. **更改注册表地址** 将 npm 注册表地址修改为国内其他稳定镜像源,例如 npmmirror: ```bash npm config set registry https://registry.npmmirror.com/ ``` 3. **确认配置成功** 执行以下命令查看当前使用的注册表地址是否正确: ```bash npm config get registry ``` 如果返回值为 `https://registry.npmmirror.com/`,则说明设置成功[^4]。 --- #### 方法二:临忽略 SSL 证书校验(不推荐) 如果确实需要继续使用淘宝镜像源而暂不想处理证书问题,可以通过禁用 SSL 校验的方式绕过此错误。注意这种方法存在安全隐患,仅适用于测试环境。 运行以下命令全局关闭严格 SSL 检查: ```bash npm set strict-ssl false ``` 完成后再次尝试安装依赖项即可。不过为了安全起见,在完成必要工作后应重新启用严格模式: ```bash npm set strict-ssl true ``` --- #### 方法三:更新 Node.js 和 NPM 版本 有该类问题也可能源于旧版本软件对现代加密协议的支持不足。因此升级至最新稳定版可能是另一个有效途径。 下载并安装最新的 LTS (Long Term Support) 版Node.js包可以从官网获取或者通过nvm(Node Version Manager)管理器来进行便捷切换: ```bash nvm install --lts && nvm use --lts ``` --- ### 示例代码片段 下面展示如何快速切换NPM源以及验证变更效果的过程: ```bash # 步骤A: 清理现有缓存数据 npm cache clean --force # 步骤B: 设置新的远程仓库URL npm config set registry https://registry.npmmirror.com/ # 步骤C: 查询当前所指代的服务端位置 currentRegistry=$(npm config get registry); echo $currentRegistry; [[ "$currentRegistry" == "https://registry.npmmirror.com/" ]] || exit 1; # 可选D部分 - 测试功能正常与否 npm install -g cnpm ``` 以上脚本不仅实现了基本的功能需求还加入了简单的逻辑判断保障流程顺利完成. ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值