You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac正常的Jest集成测试在Bitbucket Pipelines因缺失libcurl.so.4报错

解决MongoMemoryServer在Bitbucket Pipelines(node:18-slim)中启动失败(缺少libcurl.so.4)的问题

问题核心是node:18-slim属于轻量级Debian镜像,默认未安装MongoMemoryServer下载MongoDB二进制包所需的libcurl系统依赖,而Mac本地环境自带完整系统库,因此不会触发该错误。

解决方案:在Pipelines中补充安装系统依赖

修改你的bitbucket-pipelines.yml配置,在执行pnpm安装依赖和测试前,先通过apt-get安装缺失的库:

image: node:18-slim

pipelines:
  default:
    - step:
        name: Run Integration Tests
        script:
          # 安装核心依赖及补充SSL相关库
          - apt-get update && apt-get install -y --no-install-recommends libcurl4 libssl-dev
          # 启用corepack并安装依赖
          - corepack enable
          - pnpm install
          # 执行测试
          - pnpm test

关键说明

  • libcurl4是直接解决"无法打开libcurl.so.4"错误的核心依赖,MongoMemoryServer启动时需要它下载对应MongoDB二进制文件
  • libssl-dev为可选补充,避免部分场景下MongoDB运行时出现SSL相关依赖缺失问题
  • --no-install-recommends用于减少不必要的依赖安装,保持镜像轻量化

验证步骤(可选)

若问题仍存在,可在脚本中加入检查命令确认libcurl是否安装成功:

ldconfig -p | grep libcurl

执行后应输出包含libcurl.so.4的条目,说明依赖已正确安装。

内容的提问来源于stack exchange,提问作者Ikram Ud Daula

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 16:02:03