Docker Stack LTS 总是会从头开始重新下载和重新创建 GHC

问题描述

使用以下 Dockerfile

FROM fpco/stack-build:lts-17.12 as dependencies

ENV STACK_ROOT /home/stackage/.stack

COPY ./stack.yaml ./package.yaml ./

RUN stack build --dependencies-only

Stack 将总是在构建之前从头开始下载和安装 GHC。

> [dependencies 5/7] RUN stack build --dependencies-only                                                                     2.8s
 => => # Preparing to install GHC to an isolated location.                                                                                               
 => => # This will not interfere with any system-level installation.                                                                                     
 => => # Preparing to download ghc-8.10.4 ...                                                                                                            
 => => # ghc-8.10.4: download has begun   
 => => # ...

我为 STACK_ROOT 环境变量尝试了不同的值(包括无,保留默认值),但都没有奏效。

现在,如果我注释掉 RUN stack build 行并拉取映像,然后在其中运行 shell,我可以看到 GHC 和 Stack 已经预安装在 /home/stackage/.stack 中,其中Linux 二进制文件。

尽管如此,Stack 为什么每次都选择从头开始下载和安装所有内容?有什么办法可以避免吗?

编辑:this answer 似乎表明使用 STACK_ROOT=/home/stackage/.stack 会起作用,但显然它不起作用 - 也许我遗漏了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...