It seems that when I build my resume written in LaTeX using GitHub Actions there are no errors, However, when I run the build locally, I encounter thousands of errors like the one in the title of the question. (both uses Docker).
What could be the issue? I've already tried mounting a tmpfs on /tmp to see if it resolves the problem, but it didn't help.
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
The difference is in the user you use in the container.
I suppose you don't bother setting the user,
-u
on the build server, so it runs as some default that has aHOME
set to a directory where it can probably write. But when you run it locally, you give it your user ID and it does not haveHOME
set.Try adding
--env HOME=/home
(or whatever the mount is; I would normally use/src
or/work
or somesuch) option, then it should write the cache to the project directory.My preferred solution is to have libnss-unknown installed in the container, have
ENV HOME=/home
setting in the Dockerfile and have the/home
directory world-writable. Then whatever-u
option you pass, you'll get writable home inside for any program that needs it. But that means you'd have to make your own customized container. I often end up needing one anyway, because I need some extra packages.