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
操作步骤总结
- 优先尝试 更换国内镜像源(步骤 2),简单且能避免多数网络问题;
- 若急需安装,可临时禁用 SSL 验证(步骤 1);
- 若必须使用官方源,按步骤 3 配置根证书。
执行成功后,可通过 uni --version
验证 @dcloudio/uni-cli
是否安装成功。