CircleCI安装AWS CLI时包获取失败的问题求助
解决CircleCI旧Ruby镜像中apt-get 404的问题
问题原因
你使用的circleci/ruby:2.4.2-node-browsers镜像基于Debian Jessie系统,而Jessie已结束官方支持,其软件源已从deb.debian.org迁移到归档服务器archive.debian.org,原地址资源已被移除,导致apt-get update和install命令返回404错误。
解决方案
方法1:替换apt源为归档服务器
修改CircleCI配置,先替换系统apt源,再执行更新和安装操作:
docker: - image: circleci/ruby:2.4.2-node-browsers steps: - run: name: 替换Debian Jessie apt源为归档服务器 command: | sudo sed -i 's/deb.debian.org/archive.debian.org/g' /etc/apt/sources.list sudo sed -i '/jessie-updates/d' /etc/apt/sources.list # 移除已失效的更新源 sudo apt-get update - run: name: Install AWS cli command: | sudo apt-get install -y python-dev python-pip sudo pip install awscli aws --version
方法2:直接安装AWS CLI(绕过apt依赖)
若不想处理apt源问题,可直接通过官方脚本下载安装AWS CLI,避免依赖系统Python包:
docker: - image: circleci/ruby:2.4.2-node-browsers steps: - run: name: Install AWS cli command: | curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install aws --version
注:此方式安装的是AWS CLI v2,若需v1版本,可将下载链接替换为https://s3.amazonaws.com/aws-cli/awscli-bundle.zip,并使用对应安装脚本。
补充说明
Debian旧版本(如Jessie、Wheezy)的软件源都会被迁移到归档服务器,后续遇到类似旧镜像的apt问题,均可通过替换源为archive.debian.org解决。
内容的提问来源于stack exchange,提问作者Aloalo
相关产品推荐
相关产品推荐

