在我的 Linux 机器上将 texlive 发行版升级到 v2020 后,它lualatex
完全停止工作,并对所有项目产生相同的致命错误。即使编译以下最小源文件主文本使用lualatex --interaction=batchmode main.tex
\documentclass{article}
\begin{document}
\end{document}
产生以下错误:
This is LuaHBTeX, Version 1.12.0 (TeX Live 2020)
restricted system commands enabled.
luaotfload | load : FATAL ERROR
luaotfload | load : × Failed to load "fontloader" module "basics-gen".
luaotfload | load : × Error message:
luaotfload | load : × "...020/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:301: system : no writeable cache path, quiting".
stack traceback:
...ive/2020/texmf-dist/tex/luatex/luaotfload/luaotfload.lua:206: in local 'load_fontloader_module'
...020/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:303: in upvalue 'init_main'
...020/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:584: in function 'luaotfload-init.lua'
...ive/2020/texmf-dist/tex/luatex/luaotfload/luaotfload.lua:330: in field 'main'
[\directlua]:1: in main chunk
Texlive-2019 版本lualatex
以及两个pdflatex
版本都可以正常工作并生成一个没有错误的空白文档。
由于我使用了官方的 texlive 安装程序及其建议的默认设置来安装这两个发行版(/usr/local/texlive/2019/...和/usr/local/texlive/2020/...分别)我完全不知道这里可能存在什么问题,因为我没有遇到 2019 年发行版的任何问题。
有什么帮助吗?谢谢!
更新TEXMFVAR
:我设法通过明确设置环境变量来使其工作$HOME/.texlive2020/texmf-var这是安装程序脚本建议的默认值。我在安装过程中犯了错误吗?我之前不必导出环境变量。
的输出kpsewhich -var-value=TEXMFCACHE
是
/usr/local/texlive/2020/texmf-var:/usr/local/texlive/2020/texmf-var
答案1
看起来安装过程中出现了问题,导致缓存目录设置引用了 root 拥有的路径。
我手动TEXTMFHOME
设置TEXMFVAR
了/usr/local/texlive/2020/texmf.cnf配置文件来引用本地目录,从而解决了该问题。
TEXMFHOME = $HOME/.cache/texlive2020
TEXMFVAR = $HOME/.cache/texlive2020/texmf-var/
TEXMFCONFIG = $TEXMFSYSCONFIG
答案2
我遇到了同样的问题。我的 Windows 配置文件包含一个 UTF-8 字符。我更改后问题就消失了。[这是一个完整的过程!]