【问题标题】:Apk add pdftk unsatisfiable constraintsApk 添加 pdftk 不可满足的约束
【发布时间】:2018-10-12 10:15:42
【问题描述】:

谁能给我解释一下为什么我会得到一个

unsatisfiable constraints:
  pdftk (missing):
    required by: world[pdftk]

运行时出错

apk update
apk add pdftk

在我的 alpine docker-image 中,虽然它在 alpine 中似乎是 included

最好的问候

【问题讨论】:

  • 在撰写本文时,pdftk 在 Alpine 3.8 上可用,但在 Alpine 3.9(最新版本)上不可用。我现在只是简单地恢复到 Alpine 3.8 以获得所需的效果。

标签: docker alpine pdftk


【解决方案1】:

您的 docker 映像中似乎没有 alpine 存储库的本地缓存。

因此,为了解决此问题,您可以执行以下操作:

1.在执行apk add 时使用--no-cache 标志以不使用任何本地缓存路径:

$ docker run -ti alpine:3.7
/ # apk add --no-cache pdftk
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
(1/5) Installing libgcc (6.4.0-r5)
(2/5) Installing gmp (6.1.2-r1)
(3/5) Installing libstdc++ (6.4.0-r5)
(4/5) Installing libgcj (6.4.0-r5)
(5/5) Installing pdftk (2.02-r1)
Executing busybox-1.27.2-r7.trigger
OK: 76 MiB in 16 packages

2.先更新本地缓存(apk update),然后安装必要的包(apk add <package>):

$ docker run -ti alpine:3.7
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
v3.7.0-159-g08fa87dac2 [http://dl-cdn.alpinelinux.org/alpine/v3.7/main]
v3.7.0-160-g82f356f8c4 [http://dl-cdn.alpinelinux.org/alpine/v3.7/community]
OK: 9050 distinct packages available
/ # apk add pdftk
(1/5) Installing libgcc (6.4.0-r5)
(2/5) Installing gmp (6.1.2-r1)
(3/5) Installing libstdc++ (6.4.0-r5)
(4/5) Installing libgcj (6.4.0-r5)
(5/5) Installing pdftk (2.02-r1)
Executing busybox-1.27.2-r7.trigger
OK: 76 MiB in 16 packages

附:另请记住,pdftk 包已从 3.5 版开始添加到 alpine 存储库中。可能是您使用 alpine:3.4 作为基础 docker 映像的情况。

P.P.S. pdftkis not present 来自 3.9 的 alpine 存储库。

【讨论】:

  • 对不起,我当然会在尝试 apk 添加之前进行 apk 更新
  • 我们能为 alpine:3.9 做些什么?有什么建议吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-10
  • 2022-11-10
  • 1970-01-01
  • 2020-08-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多