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

在AWS CodeBuild的Amazon Linux 2镜像中无法使用amazon-linux-extras怎么办

问题原因

你使用的CodeBuild Amazon Linux 2标准镜像默认配置了pyenv环境,Python执行路径优先级高于系统默认路径。而amazon-linux-extras是基于系统预装Python开发的工具,调用时会优先匹配pyenv中的Python环境,找不到对应依赖模块就会抛出你遇到的报错。即使指定绝对路径执行,工具内部依然会调用默认的Python解释器,所以无法解决问题。

解决方案
  • 方法1:执行命令时临时指定系统Python路径
    修改buildspec install阶段的命令为:

    install:
      commands:
        - PATH=/usr/bin:$PATH amazon-linux-extras install postgresql13
    

    该方法会临时把系统默认二进制路径调整到最高优先级,让amazon-linux-extras调用系统自带的Python解释器运行,不会影响后续构建步骤的环境变量配置。

  • 方法2:临时关闭pyenv环境
    如果你后续构建步骤不需要使用pyenv预置的Python版本,可以直接先关闭pyenv再执行安装:

    install:
      commands:
        - pyenv deactivate
        - amazon-linux-extras install postgresql13
    
  • 方法3:绕过amazon-linux-extras安装
    也可以直接添加PostgreSQL官方YUM源安装对应版本,完全避开路径冲突问题,适合需要固定PostgreSQL小版本的场景。

安装完成后可以在build阶段添加psql --version命令验证安装是否成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:45:00