You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在Amazon Linux 2023 Cloud9环境中安装Mongo Shell时缺失libcrypto等依赖库的问题

在Amazon Linux 2023 Cloud9环境中安装Mongo Shell时缺失libcrypto等依赖库的问题

我最近在跟着AWS相关教程操作时,正好碰到了你这个一模一样的问题——在Amazon Linux 2023的Cloud9环境里执行sudo yum install -y mongodb-org-shell时,弹出了libcrypto.so.10和libssl.so.10依赖缺失的错误提示。

问题根源

Amazon Linux 2023默认搭载的是OpenSSL 3.x版本,而你尝试安装的mongodb-org-shell-5.0.0是针对旧版系统(比如Amazon Linux 2)编译的,它依赖的是OpenSSL 1.0系列的库文件(也就是报错里提到的libcrypto.so.10、libssl.so.10),版本不兼容自然就找不到依赖了。

解决方案

这里有两种可行的处理方式,推荐优先用第一种:

  • 安装兼容OpenSSL 3.x的Mongo Shell版本
    MongoDB 6.0及以上版本已经支持OpenSSL 3.x,你可以直接安装对应版本的shell:

    sudo yum install -y mongodb-org-shell-6.0.*
    

    如果yum找不到这个版本,可能是你的MongoDB仓库配置还是旧的,需要先更新仓库文件:

    1. 编辑MongoDB的repo配置文件:
      sudo vi /etc/yum.repos.d/mongodb-org.repo
      
    2. 将文件内容替换为针对Amazon Linux 2023的6.0版本仓库:
      [mongodb-org-6.0]
      name=MongoDB Repository
      baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/6.0/x86_64/
      gpgcheck=1
      enabled=1
      gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
      
    3. 保存退出后再执行上面的安装命令即可。
  • 安装OpenSSL 1.0兼容库(不推荐)
    如果你必须使用5.0版本的Mongo Shell,可以尝试安装OpenSSL 1.0的兼容包,但这种方式可能会和系统自带的OpenSSL 3.x产生冲突,引发其他潜在问题,所以谨慎使用:

    sudo amazon-linux-extras install -y openssl1.0
    

    安装完兼容库后再重新执行sudo yum install -y mongodb-org-shell试试。

验证安装

安装完成后,执行下面的命令确认Mongo Shell是否正常可用:

mongosh --version

备注:内容来源于stack exchange,提问作者0xBradock

火山引擎 最新活动