CodeBuild Bug? AWS CLI broken on AL2/aarch64 env, error "pyenv: version `3.9.7' is not installed"

0

Summary:

On CodeBuild projects running on AL2/aarch64, running the aws CLI command (any command works, I use --version as a sanity check) yields the following error:

[Container] 2022/09/10 02:39:37 Running command aws --version
pyenv: version `3.9.7' is not installed (set by /codebuild/output/src576940877/src/.python-version)

The process exits with status code 1 and the build terminates. I can reproduce the error exactly on my M1 MBP running locally, following the instructions for local agent usage here.

Steps to Reproduce

  1. Create minimal buildspec.yml:
version: 0.2

phases:
  build:
    commands:
      - aws --version
  1. Launch on CodeBuild project set to AL2/aarch64, on SMALL size build.

Expected behavior

Build should pass. Output of command should be:

[Container] 2022/09/10 03:00:41 Running command /usr/local/bin/aws --version
aws-cli/2.7.31 Python/3.9.11 Linux/5.10.104-linuxkit exe/aarch64.amzn.2 prompt/off

Actual behavior

Output is actually:

[Container] 2022/09/10 02:39:37 Running command aws --version
pyenv: version `3.9.7' is not installed (set by /codebuild/output/src576940877/src/.python-version)

Workaround

The AWS CLI can be installed manually and run via direct path:

version: 0.2

phases:
  install:
    runtime-versions:
      python: 3.9
    commands:
      - curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
      - unzip awscliv2.zip
      - ./aws/install

  build:
    commands:
      - /usr/local/bin/aws --version

This produces the expected output and the build succeeds.

c7c8
已提問 2 年前檢視次數 87 次
沒有答案

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南