首页 > 解决方案 > Alpine:不可满足的约束

问题描述

我正在尝试在 alpine 中安装一个软件包,在这种情况下,我指定了“jasper-dev”,但我和其他许多人都发生过这种情况。我在终端中得到的输出是:

/ # apk add jasper-dev
ERROR: unsatisfiable constraints:
   jasper-dev (missing):
     required by: world [jasper-dev]

但是,当我在https://pkgs.alpinelinux.org/搜索包时,会出现该包。 在此处输入图像描述

这是我的 Dockerfile。

FROM python:3.7-alpine
RUN echo "@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories

RUN apk --update --no-cache add py3-numpy py3-pandas@testing \
      build-base \
      openblas-dev \
      unzip \
      wget \
      cmake \
      ca-certificates \
      libjpeg  \
      libjpeg-turbo-dev \
      libpng-dev \
      jasper-dev \
      tiff-dev \
      libwebp-dev \
      clang-dev \
      linux-headers

我怎样才能安装这个包?

标签: dockerinstallationdockerfilealpine

解决方案


我展示了 alpine 的版本,cat /etc/alpine-release发现它是3.12.0。然后我在https://pkgs.alpinelinux.org/中搜索分支v3.12中的包jasper-dev,我们看到它没有出现。 在此处输入图像描述

所以我们查看以前的分支,发现它出现在v3.10中,所以我修改了我的 Dockerfile 以将该 repo 添加到/etc/apk/repositorieswith RUN echo 'http: // dl-cdn. alpinelinux.org/alpine/v3.10/main ' >> /etc/apk/repositories。这将通过执行docker build来安装包


推荐阅读