【问题标题】:unsatisfiable constraints error when installing pdftk alpine linux安装pdftk alpine linux时出现不可满足的约束错误
【发布时间】:2021-03-09 20:01:30
【问题描述】:

当尝试安装 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 新手,不确定问题的含义或如何解决。

【问题讨论】:

  • not sure what the issue means alpine 上没有 pdftk。自己编译。
  • @KamilCuk 它不能再编译了。使用 java 端口在下面查看我的答案。

标签: linux alpine alpine-package-keeper


【解决方案1】:

我只是使用 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 的文件

$ nano pdftk

    #!/usr/bin/env bash
    java -jar "$0.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

【讨论】:

    【解决方案2】:

    从 Alpine v3.9 开始,Alpine 的 pdftk 包为 discontinued

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

    很遗憾,由于unsatifiable constraints,您将无法将来自 Alpine 3.8 存储库的 pdftk 安装到较新的 Alpine 版本上。

    【讨论】:

      【解决方案3】:

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

      # 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 的帖子一样创建pdftk,并将它放在相对于你的dockerfile 的适当文件夹中(这里是我的./docker/php)。请注意,就我而言,我在文件中也从 bash 更改为 sh。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多