目录

npm-install-global-dcloudiouni-cli-时安装失败

npm install –global @dcloudio/uni-cli 时安装失败

这个日志显示在执行 npm install --global @dcloudio/uni-cli 时安装失败,核心错误是 UNABLE_TO_GET_GET_ISSUER_CERT_LOCALLY(无法获取本地颁发者证书),属于 HTTPS 证书验证失败 问题。

错误原因

npm 访问官方 registry(https://registry.npmjs.org)时,需要验证服务器的 SSL 证书,但本地环境缺少必要的根证书或证书配置异常,导致验证失败,无法下载 @dcloudio/uni-cli 包。

解决方法

1. 临时禁用 SSL 证书验证(快速解决,不推荐长期使用)

如果只是临时安装,可通过以下命令跳过证书验证:


npm install --global @dcloudio/uni-cli --unsafe-perm --strict-ssl false
  • --strict-ssl false:禁用 SSL 证书验证,允许不安全的 HTTPS 连接。
  • 安装完成后,建议重新启用验证:npm config set strict-ssl true
2. 更换为国内镜像源(推荐,稳定且安全)

国内镜像源(如淘宝 npm 镜像)通常使用可信证书,可避免证书问题:


# 切换为淘宝镜像源
npm config set registry https://registry.npmmirror.com

# 再次尝试全局安装
npm install --global @dcloudio/uni-cli

如果后续需要恢复官方源:


npm config set registry https://registry.npmjs.org
3. 安装缺失的根证书(适合需要保留官方源的场景)

若必须使用官方源,可手动安装根证书:


# 安装证书管理工具(需要 Homebrew)
brew install certifi

# 配置 npm 使用该证书
npm config set cafile "$(brew --prefix)/share/certifi/cacert.pem"

# 重新安装
npm install --global @dcloudio/uni-cli

操作步骤总结

  1. 优先尝试 更换国内镜像源(步骤 2),简单且能避免多数网络问题;
  2. 若急需安装,可临时禁用 SSL 验证(步骤 1);
  3. 若必须使用官方源,按步骤 3 配置根证书。

执行成功后,可通过 uni --version 验证 @dcloudio/uni-cli 是否安装成功。