HarmonyOS 鸿蒙Next 项目启动npm报错self signed certificate in certificate chain

HarmonyOS 鸿蒙Next 项目启动npm报错self signed certificate in certificate chain (node:34208) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to ‘0’ makes TLS connections and HTTPS requests insecure by disabling certificate verification.

  • Use node --trace-warnings ... to show where the warning was created

FetchError: request to https://repo.harmonyos.com/npm/@ohos/coverage/-/@ohos/coverage-1.0.7.tgz failed, reason: self signed certificate in certificate chain

  • at ClientRequest.<anonymous> (C:\Users\l0527034.hvigor\wrapper\tools\node_modules\pnpm\dist\pnpm.cjs:60853:18)
  • at ClientRequest.emit (node:events:513:28)
  • at TLSSocket.socketErrorListener (node:_http_client:494:9)
  • at TLSSocket.emit (node:events:513:28)
  • at emitErrorNT (node:internal/streams/destroy:157:8)
  • at emitErrorCloseNT (node:internal/streams/destroy:122:3)
  • at processTicksAndRejections (node:internal/process/task_queues:83:21)

FetchError: request to https://repo.harmonyos.com/npm/@ohos/hvigor-arkts-base/-/@ohos/hvigor-arkts-base-2.4.2.tgz failed, reason: self signed certificate in certificate chain

  • at ClientRequest.<anonymous> (C:\Users\l0527034.hvigor\wrapper\tools\node_modules\pnpm\dist\pnpm.cjs:60853:18)

更多关于HarmonyOS 鸿蒙Next 项目启动npm报错self signed certificate in certificate chain的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS鸿蒙Next项目中,启动npm时遇到"self signed certificate in certificate chain"错误,通常是由于npm在请求HTTPS资源时,遇到了自签名证书或证书链中的问题。这种错误通常发生在开发环境中,尤其是当使用本地或内部服务器时,这些服务器的SSL证书可能是自签名的,而不是由受信任的证书颁发机构(CA)签发的。

要解决此问题,可以通过以下步骤绕过证书验证:

  1. 设置npm的strict-ssl为false: 在命令行中执行以下命令,禁用npm的严格SSL验证:

    npm config set strict-ssl false
    
  2. 设置环境变量NODE_TLS_REJECT_UNAUTHORIZED为0: 在启动npm时,设置环境变量NODE_TLS_REJECT_UNAUTHORIZED为0,以忽略证书验证:

    export NODE_TLS_REJECT_UNAUTHORIZED=0
    

    或者在Windows的命令提示符中:

    set NODE_TLS_REJECT_UNAUTHORIZED=0
    
  3. 更新npm的CA证书: 如果问题仍然存在,可以尝试更新npm的CA证书:

    npm install -g npm
    

上述方法可以暂时绕过证书验证问题,但在生产环境中不建议使用这些方法,因为这会降低安全性。

更多关于HarmonyOS 鸿蒙Next 项目启动npm报错self signed certificate in certificate chain的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在启动 HarmonyOS 鸿蒙Next 项目时,如果遇到 self signed certificate in certificate chain 错误,通常是由于 npm 在尝试连接到 registry 时无法验证 SSL 证书。以下是解决方案:

  1. 临时忽略 SSL 证书验证: 运行以下命令来暂时忽略 SSL 证书验证:

    npm config set strict-ssl false
    
  2. 更新 npm 和 Node.js: 确保你使用的是最新版本的 npm 和 Node.js,以兼容最新的证书链。

  3. 配置 npm 使用正确的 registry: 检查并设置 npm 为官方 registry:

    npm config set registry https://registry.npmjs.org/
    
  4. 检查系统证书: 确保你的系统上安装了最新的 CA 证书。对于 Windows 用户,可以通过更新系统来获取最新的证书。

  5. 使用代理: 如果你在公司网络下,可能需要配置代理:

    npm config set proxy http://your.proxy.server:port
    npm config set https-proxy http://your.proxy.server:port
    

完成以上步骤后,重新启动项目即可解决此问题。

回到顶部