Texlive-2020 的 lualatex 编译失败,提示“没有可写的缓存路径”。Texlive-2019 的 lualatex 运行正常

Texlive-2020 的 lualatex 编译失败,提示“没有可写的缓存路径”。Texlive-2019 的 lualatex 运行正常

在我的 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 字符。我更改后问题就消失了。[这是一个完整的过程!]

相关内容