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

GitHub Actions中MongoMemoryServer因缺失libcrypto.so.1.1启动失败

解决GitHub Actions中mongodb-memory-server缺失libcrypto.so.1.1的问题

问题背景

本地环境下Jest测试可正常运行,但在GitHub Actions中执行时,使用mongodb-memory-server-core(最新版本)模拟MongoDB服务器会启动失败,提示缺失库文件libcrypto.so.1.1。本地已使用Node.js 18.x和相同依赖验证过测试正常。

已尝试的无效操作

  • 在GitHub Actions工作流中安装libssl3,问题未解决
  • 清理MongoDB二进制缓存后重新安装依赖
  • 使用npm ci确保依赖正确安装

有效解决方案

方案1:安装兼容库libssl1.1

GitHub Actions的Ubuntu 22.04 runner默认预装libssl3,但mongodb-memory-server默认下载的旧版MongoDB二进制文件依赖libssl1.1(包含libcrypto.so.1.1)。直接安装该库即可解决依赖缺失:

修改GitHub Actions工作流中的依赖安装步骤:

- name: Install system dependencies for MongoDB Memory Server
  run: |
    sudo apt-get update
    sudo apt-get install -y libssl1.1
    rm -rf /home/runner/.cache/mongodb-binaries || true

方案2:指定适配libssl3的MongoDB版本

MongoDB 6.0及以上版本已适配libssl3,通过环境变量指定该版本后,mongodb-memory-server会下载适配当前系统的二进制文件,无需安装旧库:

- name: Configure MongoDB Memory Server version
  run: echo "MONGOMS_VERSION=6.0.15" >> $GITHUB_ENV

- name: Install dependencies
  run: npm ci

- name: Run tests
  run: npm test

说明

  • 方案1通过补充旧版依赖解决兼容性问题,适合需要使用特定旧版MongoDB的场景
  • 方案2通过升级MongoDB版本适配新系统库,更符合长期维护需求

内容的提问来源于stack exchange,提问作者Lenin Del Río

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 17:52:10