我想在 Alpine 中使用 apk 安装最新版本的 Hugo 软件包。基于包装详情,最新版本是0.114.1-r0
但是当我在 Dockerfile 中运行此代码时,出现错误:
ENV HUGO_VERSION 0.114
RUN apk add --no-cache hugo=~${HUGO_VERSION}
并说:
0.101 fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz
0.240 fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/x86_64/APKINDEX.tar.gz
0.530 ERROR: unable to select packages:
0.532 hugo-0.111.3-r2:
0.532 breaks: world[hugo~0.114]
- 为什么会发生这种情况?
- 如何使用“pkg=version”格式安装最新版本?我想默认安装最新版本,但我希望用户可以更改版本。
答案1
目前主存储库中可用的最新版本0.111
如下:关联从您的错误消息来看,在您Ctrl+ F hugo
.之后0.114
只能与边缘存储库截至目前。
自从这些存储库是不是由于旨在用于生产,建议等待软件包在v3.18
存储库中更新。
但如果您出于某种原因确实需要使用该版本,您可以尝试以下命令:
RUN apk add --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community --no-cache hugo=~${HUGO_VERSION}
仅从存储库安装此包edge
。
您也可以/etc/apk/repositories
按照说明编辑文件这里。上面提到的链接指定你必须代替将主存储库与边缘存储库分开,否则系统可能会崩溃。您要添加的具体链接是:https://dl-cdn.alpinelinux.org/alpine/edge/community还有主要的相关存储库。
或者您可以尝试直接使用edge
版本在你的 Dockerfile 中。