安装 pdftk alpine 时出现无法满足的约束错误 linux

unsatisfiable constraints error when installing pdftk alpine linux

尝试安装时 pdftk apk 抛出此错误。

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

这是整个输出:

/opt/app # apk add pdftk
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
  pdftk (missing):
    required by: world[pdftk]

我是 apk 新手,不确定问题的含义或解决方法。

pdftk package for Alpine was discontinued 从 Alpine v3.9 开始。

要在 Alpine 上使用 pdftk,您可以按照建议从源代码构建包。
或者,如果您习惯使用较旧的 Alpine 版本,您应该能够在 Alpine V3.8 上使用它。

不幸的是,由于 .

,您将无法在较新的 Alpine 版本上从 Alpine 3.8 存储库安装 pdftk

我只是使用 pdftk 的 java 端口以与在 debian 上完成的方式相同的方式安装它。工作正常。

apk add openjdk8
wget https://gitlab.com/pdftk-java/pdftk/-/jobs/924565145/artifacts/raw/build/libs/pdftk-all.jar
mv pdftk-all.jar pdftk.jar

创建一个名为 pdftk 的文件

$ 纳米 pdftk

    #!/usr/bin/env bash
    java -jar "[=11=].jar" "$@"

更新文件权限并将其移动到bin目录

chmod 775 pdftk*
mv pdftk* /usr/local/bin

然后使用 pdftk -version 进行测试,您应该会看到类似于以下内容的输出:

pdftk port to java 3.2.2 a Handy Tool for Manipulating PDF Documents
Copyright (c) 2017-2018 Marc Vinyals - https://gitlab.com/pdftk-java/pdftk
Copyright (c) 2003-2013 Steward and Lee, LLC.
pdftk includes a modified version of the iText library.
Copyright (c) 1999-2009 Bruno Lowagie, Paulo Soares, et al.
This is free software; see the source code for copying conditions. There is
NO warranty, not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

请注意,pdftk java url 可能会更改。在此处获取最新消息:https://gitlab.com/pdftk-java/pdftk#pre-built-binaries

我也在alpine上发布了我的答案git:https://gitlab.alpinelinux.org/alpine/aports/-/issues/10136

我设法让@nicky 解决方案像这样在我的高山docker上工作

# pdftk
RUN apk add openjdk8
RUN wget https://gitlab.com/pdftk- 
java/pdftk/-/jobs/924565145/artifacts/raw/build/libs/pdftk-all.jar
RUN mv pdftk-all.jar /usr/local/bin/pdftk.jar

COPY docker/php/pdftk /usr/local/bin/pdftk
RUN chmod 775 /usr/local/bin/pdftk*

当然,您必须像在@nicky 的 post 中那样创建 pdftk,并将其放在与您的 docker 文件相关的适当文件夹中(此处,./docker/php 对我来说)。请注意,在我的例子中,我在文件中也从 bash 更改为 sh。