我有一个Dockerfile,它正在调用RUN apt-get install guile-2.0-dev
这个脚本是在Ubuntu 20.04.4LTS上使用命令"sudo docker build -f./Dockerfile -ttest:one ./"
执行的。显示错误:
E: Unable to locate package guile-2.0-dev
E: Couldn't find any package by glob 'guile-2.0-dev'
E: Couldn't find any package by regex 'guile-2.0-dev'"
但是从Dockerfile调用的其他apt-get
安装命令可以正常工作。我可以从我的终端运行apt-get install guile-2.0-dev
命令。你能帮我在docker脚本中找出它失败的原因吗?
下面给出了一个示例脚本。Bison
安装成功,但guile
失败
FROM ubuntu
RUN apt-get update
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y bison
RUN apt-get update && apt-get install -y guile-2.0-dev
您的Dockerfile
提取ubuntu
,默认为latest
标记,即jammy-jellyfish/22.04
。guile-2.0-dev
在那个版本中不存在,它被升级到了guile-2.2-dev
,所以你想做RUN apt-get update && apt-get install -y guile-2.2-dev
。
FROM ubuntu
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y bison guile-2.2-dev
如果您特别需要guile-2.0-dev
,则需要FROM ubuntu:focal
(v20.04(或FROM ubuntu:bionic
(v18.04(,具体取决于您想要的Ubuntu。
FROM ubuntu:focal
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y bison guile-2.0-dev
另请参阅ubuntu软件包列表:https://packages.ubuntu.com/cgi-bin/search_packages.pl?keywords=guile&searchon=names&释放=所有
Package guile-2.0-dev
bionic (18.04LTS) (lisp): Development files for Guile 2.0
2.0.13+1-5build2: amd64 arm64 armhf i386 ppc64el s390x
bionic-updates (lisp): Development files for Guile 2.0
2.0.13+1-5ubuntu0.1: amd64 arm64 armhf i386 ppc64el s390x
focal (20.04LTS) (lisp): Development files for Guile 2.0 [universe]
2.0.13+1-5.4: amd64 arm64 armhf i386 ppc64el s390x
Package guile-2.2-dev
bionic (18.04LTS) (lisp): Development files for Guile 2.2 [universe]
2.2.3+1-3build1: amd64 arm64 armhf i386 ppc64el s390x
bionic-updates (lisp): Development files for Guile 2.2 [universe]
2.2.3+1-3ubuntu0.1: amd64 arm64 armhf i386 ppc64el s390x
focal (20.04LTS) (lisp): Development files for Guile 2.2
2.2.7+1-4: amd64 arm64 armhf i386 ppc64el s390x
impish (21.10) (lisp): Development files for Guile 2.2
2.2.7+1-6build1: amd64 arm64 armhf i386 ppc64el s390x
jammy (22.04LTS) (lisp): Development files for Guile 2.2
2.2.7+1-6build2: amd64 arm64 armhf i386 ppc64el s390x
kinetic (lisp): Development files for Guile 2.2 [universe]
2.2.7+1-6build2: amd64 arm64 armhf ppc64el s390x
这适用于最新的Ubuntu版本
apt-get install -y guile-2.2-dev
你可能需要冻结你使用的Ubuntu版本,然后你可以优化你的Dockerfile
FROM ubuntu:20.04
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y && apt-get install -y bison guile-2.0-dev
更新:
还有https://packages.ubuntu.com查找包裹的站点,例如
https://packages.ubuntu.com/search?suite=default§ion=全部&arch=任意&keywords=guile-2.0-dev&searchon=名称