TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)
  • Ambari

    • phantomjs下载失败问题
    • 编译问题:GCC 安装与配置
    • bower CERT_HAS_EXPIRED 错误问题
      • Ambari-admin包出现bower install错误
      • Cannot run program "rpmbuild"
      • Python: No such file or directory
      • Yarn解压报错EOFException排查与解决
      • Rpm-maven-plugin与shebang兼容性报错
      • Rpm-maven-plugin 最佳实践
      • Bower install拉取失败解决
      • 缺少 python3 报错解决
    • Ambari-infra

    • Ambari-metrics

    • 报错解决-Ambari
    • Ambari
    JaneTTR
    2022-12-18
    目录

    bower CERTHASEXPIRED 错误问题

    # 正题:如何解决 bower underscore#1.7.0 CERT_HAS_EXPIRED 错误问题 🤔

    # 1️⃣ 错误分析

    在使用 Bower 进行项目依赖管理时,遇到以下错误信息:

    Request to https://registry.bower.io/packages/angular failed: certificate has expired
    
    1

    完整的报错信息:

     /opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node/node /opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/bin/bower install --allow-root --verbose
    bower angular#*       CERT_HAS_EXPIRED Request to https://registry.bower.io/packages/angular failed: certificate has expired
    
    Stack trace:
    Error: Request to https://registry.bower.io/packages/angular failed: certificate has expired
        at createError (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/node_modules/bower-registry-client/lib/util/createError.js:2
    :15)
        at Request._callback (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/node_modules/bower-registry-client/lib/lookup.js:97:29
    )
        at self.callback (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/node_modules/bower-registry-client/node_modules/request/re
    quest.js:188:22)
        at emitOne (events.js:77:13)
        at Request.emit (events.js:169:7)
        at Request.request.emit (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/node_modules/request-replay/index.js:69:33)
        at Request.onRequestError (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/node_modules/bower-registry-client/node_modules/r
    equest/request.js:884:8)
        at emitOne (events.js:82:20)
        at ClientRequest.emit (events.js:169:7)
        at TLSSocket.socketErrorListener (_http_client.js:269:9)
    From previous event:
        at PackageRepository.fetch (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/core/PackageRepository.js:46:14)
        at Manager._fetch (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/core/Manager.js:382:10)
        at Array.forEach (native)
        at Manager.resolve (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/core/Manager.js:127:23)
        at Project._bootstrap (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/core/Project.js:672:10)
        at /opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/core/Project.js:83:25
    From previous event:
        at Manager.resolve (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/core/Manager.js:119:24)
        at Project._bootstrap (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/core/Project.js:672:10)
        at /opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/core/Project.js:83:25
    From previous event:
        at Project.install (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/core/Project.js:91:10)
        at install (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/commands/install.js:29:20)
        at /opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/commands/index.js:33:28
    From previous event:
        at withLogger (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/commands/index.js:40:14)
        at Function.runFromArgv [as line] (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/commands/index.js:30:16)
        at Object.<anonymous> (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/bin/bower.js:83:26)
    
    Console trace:
    Error
        at StandardRenderer.error (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/renderers/StandardRenderer.js:88:37)
        at Logger.<anonymous> (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/bin/bower.js:113:30)
        at emitOne (events.js:77:13)
        at Logger.emit (events.js:169:7)
        at Logger.emit (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/node_modules/bower-logger/lib/Logger.js:29:39)
        at /opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/commands/index.js:49:24
        at _rejected (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/node_modules/q/q.js:864:24)
        at /opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/node_modules/q/q.js:890:30
        at Promise.when (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/node_modules/q/q.js:1142:31)
        at Promise.promise.promiseDispatch (/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-web/node_modules/bower/lib/node_modules/q/q.js:808:41)
    System info:
    Bower version: 1.8.8
    Node version: 4.5.0
    OS: Linux 5.15.153.1-microsoft-standard-WSL2 x64
    [root@centos1 admin-web]#
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57

    该错误表示 Bower 在尝试从指定的注册源请求 Angular 包时,由于 SSL 证书过期,导致请求失败。这使得我无法顺利获取所需的依赖项,进而影响了项目的进展。

    提示

    SSL 证书过期的问题会导致依赖包无法正常安装,项目无法顺利推进。及早识别并解决该问题,避免项目进度延误。


    # 2️⃣ 解决方案 💡

    以下是我针对该问题提出的几种解决方案:

    1. 检查证书状态 🔍:

      • 首先,我访问了 https://registry.bower.io,查看该网站的 SSL 证书是否真的过期。这一检查步骤帮助我确认了问题的根本原因。
    2. 更新注册源 🔄:

      • 如果确认证书已经过期,我考虑了更换注册源的方案。在很多情况下,Bower 的默认源可能会出现不可用或不稳定的情况,因此,替换为更可靠的源是一个不错的选择。
    3. 使用 GitHub 安装依赖包 🌐:

      • 作为替代方案,我可以直接从 GitHub 安装需要的包。通过指定 GitHub 上的包链接,绕过 SSL 问题,避免证书过期带来的困扰。
    4. 调整 Bower 配置 ⚙️:

      • 如果其他方案无法解决问题,我可以在 Bower 配置文件中添加 "strict-ssl": false,临时禁用 SSL 验证。尽管这不是长期推荐的做法,但可以在短期内帮助我快速恢复依赖安装,避免影响项目进度。

    # 3️⃣ 我的解决办法

    由于在国内访问 Bower 镜像源非常困难,且大部分源都无法使用,我采取了以下几种方式来解决该问题:

    1. 禁用 SSL 验证:我在 .bowerrc 配置文件中添加了如下配置:

      {
        "registry": "https://registry.bower.io/",
        "strict-ssl": false,
        "analytics": false,
        "shorthand-resolver": "https://ghp.ci/https://github.com/{{owner}}/{{package}}.git",
        "directory": "app/bower_components"
      }
      
      1
      2
      3
      4
      5
      6
      7

      通过这种方式,我能够绕过证书验证,快速安装依赖,避免了由于证书过期导致的安装失败。

    2. 直接使用 GitHub 作为源:在安装 Angular 时,我直接指定从 GitHub 获取包:

      bower install angular#1.8.2 --allow-root
      
      1

      这样不仅解决了证书问题,还能确保我获取到最新版本的依赖包。

    3. 后续监控和修复:虽然临时禁用了 SSL 验证解决了当前问题,但我会继续关注 Bower 证书的更新和国内镜像的可用性。未来我计划恢复 SSL 验证,以保障依赖管理的安全性。

    笔记

    在解决证书过期的问题时,注意根据项目实际情况选择合适的替代方案。同时,及时更新依赖源和证书,保持项目的稳定性和安全性。

    #Bower#依赖管理
    编译问题:GCC 安装与配置
    Ambari-admin包出现bower install错误

    ← 编译问题:GCC 安装与配置 Ambari-admin包出现bower install错误→

    最近更新
    01
    Pandoc 缺失导致 SparkR 构建失败
    06-08
    02
    Cyrus SASL/GSASL 缺失解决
    06-07
    03
    Hadoop_3.3.4 编译实战 1.0.0+
    06-06
    更多文章>
    Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式