我有一个 Docker 容器并安装了 MiKTeX,但是当我尝试生成 PDF 时,出现错误:
LaTeX Error: File `l3backend-xdvipdfmx.def' not found.
以下是 Docker 文件:
FROM node:12.6.0-stretch
COPY fix-proxy-apt /etc/apt/apt.conf.d/99fixbadproxy
RUN apt update && apt install -y apt-transport-https ca-certificates
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D6BC243565B2087BC3F897C9277A7293F59E4889
RUN echo "deb http://miktex.org/download/debian stretch universe" | tee /etc/apt/sources.list.d/miktex.list
RUN apt update && apt install -y git miktex bash
RUN npm config set unsafe-perm
WORKDIR /app
COPY ./ ./
RUN rm -rf ./node_modules
RUN npm install
RUN npm run build
EXPOSE 3000
COPY backend.sh /backend.sh
RUN chmod +x /backend.sh
RUN miktexsetup --shared=yes finish
RUN initexmf --admin --set-config-value [MPM]AutoInstall=1
ENTRYPOINT ["/backend.sh"]
据我了解,以下内容:
RUN initexmf --admin --set-config-value [MPM]AutoInstall=1
应该安装缺少的包,但是我仍然收到错误。
我找到了这个帖子: 加载 expl3 时未找到文件 l3backend-pdfmode.def
因此我尝试将以下行添加到我的dockerfile中:
RUN tlmgr update --all
但是tlmgr
没找到。
有任何想法吗?
答案1
将其添加到 Docker 文件解决了我的问题。
# update file name database
RUN initexmf --update-fndb --admin
# build the font maps
RUN initexmf --mkmaps --admin
# create all possible links
RUN initexmf --mklinks --force --admin
# Check the package repository for updates, then print the list of updateable packages.
RUN mpm --find-updates --admin
# Update all installed packages.
RUN mpm --update --admin
答案2
如果您使用 MiKTeX,请转到MiKTeX Console
→ Check for updates
→ Install
。