Apk add pdftk无法满足约束条件。

7
有人能向我解释一下为什么我会得到一个

的错误吗?
unsatisfiable constraints:
  pdftk (missing):
    required by: world[pdftk]

运行时出现错误

apk update
apk add pdftk

在我的Alpine Docker镜像中,尽管它似乎已经包含在Alpine中(参考链接)。祝好。

在撰写本文时,pdftk 可在 Alpine 3.8 上使用,但无法在 Alpine 3.9(最新版本)上使用。为了获得所需的效果,我暂时回退到 Alpine 3.8。 - conradkleinespel
更新的答案在这里:https://dev59.com/Fb_qa4cB1Zd3GeqPP9Bm - nicky
1个回答

6

看起来你的Docker镜像中没有阿尔派仓库的本地缓存。

因此,为了解决这个问题,你可以按照以下步骤进行:

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

请注意,自alpine版本3.5起,pdftk软件包已添加到alpine存储库中。 如果您使用的是alpine:3.4作为基础docker镜像,则可能存在这种情况。

另外,请注意,在3.9版中,pdftk软件包不存在于alpine存储库中。


1
抱歉,当然在尝试apk添加<package>之前我会进行apk更新。 - Nemo Grippa
我们能为alpine:3.9做些什么?有什么建议吗? - Viswanath Kumar Sandu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接