我运行的是 Arch 系统,并使用了发行包管理器提供的 Texlive 发行版。但是,现在我遇到了一个错误,并决定切换到我安装的原生 Texlive 安装。我/usr/local/texlive/2023/bin/x86_64-linux
按照安装脚本的说明将其添加到 PATH,MANPATH 和 INFOPATH 也类似,我可以在终端中运行 tlmgr,但似乎 latex 尚未检测到 PATH 更改,因为如果我尝试编译某些内容,我会收到以下错误消息:
warning: kpathsea: configuration file texmf.cnf not found in these directories: /usr/bin:/usr/bin/share/texmf-local/web2c:/usr/bin/share/texmf-dist/web2c:/usr/bin/share/texmf/web2c:/usr/bin/texmf-local/web2c:/usr/bin/texmf-dist/web2c:/usr/bin/texmf/web2c:/usr:/usr/share/texmf-local/web2c:/usr/share/texmf-dist/web2c:/usr/share/texmf/web2c:/usr/texmf-local/web2c:/usr/texmf-dist/web2c:/usr/texmf/web2c://texmf-local/web2c:/://share/texmf-local/web2c://share/texmf-dist/web2c://share/texmf/web2c://texmf-local/web2c://texmf-dist/web2c://texmf/web2c.
This is LuaHBTeX, Version 1.17.0 (TeX Live 2023/Arch Linux)
system commands enabled.
kpathsea: Running mktexfmt lualatex.fmt
mktexfmt: No such file or directory
I can't find the format file `lualatex.fmt'!
我可以texmf.cnf
在/usr/local/texlive/2023/
和/usr/local/texlive/2023/texmf-dist/web2c/
中找到lualatex.fmt
,/usr/local/texlive/2023/texmf-var/web2c/luahbtex/lualatex.fmt
但显然 kpathsea 找不到。我该如何将 Latex 重新配置到我的 Texlive 安装的新位置?我试过了
export TEXMF=:/usr/local/texlive/2023
export TEXMF=:/usr/local/texlive/2023/texmf-dist
export TEXINPUTS=/usr/local/texlive/2023//
但都没有起作用。
答案1
在 David Carlisle 的大力帮助下,我找到了解决方案。系统仍在尝试查找发行版提供的 Texlive 安装(我已卸载该安装),因为我/usr/local/texlive/2023/bin/x86_64-linux
在 PATH 之后添加了/usr/bin
。在这种情况下,必须/usr/local/texlive/2023/bin/x86_64-linux
在 之前添加 路径/usr/bin
,我append_path
使用 中的 -function变体执行了此操作/etc/profile
:
# Prepend "$1" to $PATH when not already in.
# This function API is accessible to scripts in /etc/profile.d
prepend_path () {
case ":$PATH:" in
*:"$1":*)
;;
*)
PATH="$1:${PATH:+$PATH:}"
esac
}