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

Elastic Beanstalk部署Django时Yum找不到指定包的解决求助

解决AWS Elastic Beanstalk部署Django时Yum包安装失败问题

问题根源

你遇到的postgresql93-devel、amazon-linux-extras安装失败,核心原因是:

  • 你的Elastic Beanstalk环境使用的操作系统(Amazon Linux 2或2023)中,这些包不在默认Yum/DNF源里,或者包名、工具已被替换
  • 配置文件中重复定义了包安装逻辑,造成冗余冲突

分环境解决方案

1. 环境为Amazon Linux 2

Amazon Linux 2中postgresql93已从默认源移除,需通过amazon-linux-extras启用对应版本的PostgreSQL仓库,同时避免重复安装:

修改.ebextensions/01_packages.config为:

packages:
  yum:
    git: []
    postgresql-devel: []
    python39-devel: []

commands:
  01_enable_postgresql_repo:
    command: amazon-linux-extras enable postgresql12
    ignoreErrors: false
  02_refresh_yum_metadata:
    command: yum clean metadata && yum makecache

注:PostgreSQL 9.3已停止维护,强烈建议使用12+版本;若必须用9.3,需手动添加第三方仓库(存在安全风险,不推荐)

2. 环境为Amazon Linux 2023

Amazon Linux 2023用dnf替代yum,且移除了amazon-linux-extras,PostgreSQL包在默认源中可用:

修改.ebextensions/01_packages.config为:

packages:
  dnf:
    git: []
    postgresql-devel: []
    python3-devel: []

注:Amazon Linux 2023默认Python版本为3.11,若需指定3.9版本,需调整包名为python3.9-devel

可选:强制安装PostgreSQL 9.3(不推荐)

若因业务限制必须使用9.3,可手动添加第三方仓库(仅适用于Amazon Linux 2):

files:
  /etc/yum.repos.d/pgdg-93-amazonlinux.repo:
    content: |
      [pgdg93]
      name=PostgreSQL 9.3 for Amazon Linux
      baseurl=https://download.postgresql.org/pub/repos/yum/9.3/redhat/rhel-7-x86_64/
      enabled=1
      gpgcheck=1
      gpgkey=https://download.postgresql.org/pub/repos/yum/RPM-GPG-KEY-PGDG-93

packages:
  yum:
    git: []
    postgresql93-devel: []
    python39-devel: []

操作步骤

  1. 确认你的Elastic Beanstalk环境OS版本(可通过AWS控制台或eb status命令查看)
  2. 替换对应的.ebextensions/01_packages.config内容
  3. 重新执行eb deploy部署应用

内容的提问来源于stack exchange,提问作者Ghazi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:44:52