字体配置错误:没有可写的缓存目录

问题描述 投票:0回答:1

当我使用 GitHub Actions 构建用 LaTeX 编写的简历时,似乎没有错误,但是,当我在本地运行构建时,我遇到了数千个错误,如问题标题中的错误。 (都使用 Docker)。

可能是什么问题?我已经尝试在 /tmp 上安装 tmpfs 以查看是否可以解决问题,但没有帮助。

docker run --interactive --tty --rm --name texlive \
        --user $(shell id -u):$(shell id -g) \
        --volume $(shell pwd):/home \
        --mount type=tmpfs,destination=/tmp \
        --workdir /home \
    texlive/texlive xelatex *.tex
latex xelatex
1个回答
0
投票

区别在于您在容器中使用的用户。

我想您不必费心在构建服务器上设置用户

-u
,因此它作为默认值运行,将
HOME
设置为可能可以写入的目录。但是当您在本地运行它时,您给它您的用户 ID,但它没有设置
HOME

尝试添加

--env HOME=/home
选项,然后它应该将缓存写入项目目录。


我的首选解决方案是在容器中安装 libnss-unknown,在 Dockerfile 中设置

ENV HOME=/home
,并使
/home
目录可全局写入。然后,无论您传递什么
-u
选项,您都会为任何需要它的程序提供可写的主页。但这意味着您必须制作自己的定制容器。无论如何,我经常最终需要一个,因为我需要一些额外的包裹。

© www.soinside.com 2019 - 2024. All rights reserved.