这个问题是我之前关于 TLMGR 的问题的后续(通过 TLMGR 更新)。
简明摘要:全新安装的 Mint 21.1(Cinnamon,64 位)执行了未经请求的安装 TeXLive 2021 的 synaptic-package 版本。不知不觉中,我使用 DVD 安装了“vanilla”TeXLive2022,在此基础上全新安装了 Mint 21.1
尽管根据 DVD 安装结果发出的指示更新了 PATH、MANPATH 和 INFOPATH,并运行了“texhash”等等 ---- 甚至隔离synaptic 软件包版本 TeXLive2021 —— 2021 版 synaptic 软件包的钩子似乎仍然存在;因此,TexWorks 和其他编辑器不会运行(请参阅上一个问题中的错误消息,上面的超链接)。
我并不关心是否有可用的 2021 版本。但由于存在与 2021 的“挂钩”,尽管我尝试仅从 2022 运行,但 2021 synaptic 包中安装的组件仍然是必需的。所以,我不能简单地删除它。
另外,当我尝试卸载 synaptic 软件包(2021 版)或“将其完全删除”时,Synaptic 软件包管理器告诉我,它还将卸载 Kile 和许多其他我不想扔进垃圾箱的软件包,因此随后必须重新安装(可能会产生更多问题!)。
有什么建议?有什么想法?如果您需要安装的详细信息,请提出,我会尽力满足您的要求。
+++++++++++++++ &&&&&&&&&&&&&&& ++++++++++ 我的 PATH 同时包含 2021 版和 2021 版(后者恢复到了原来的位置,/usr/share/texlive):
/usr/local/bin:
/usr/bin:
/bin:
/usr/local/texlive/2022/bin/x86_64-linux:
/usr/local/texlive/2022:
/usr/local/texlive/2022/base:
/usr/local/texlive/2022/generic/utilities:
/usr/share/texlive:
当我运行 TexWorks 时,它无法编译文档。这是我收到的消息:
This is LuaHBTeX, Version 1.14.0 (TeX Live 2022/dev/Debian)
restricted system commands enabled.
(./Dustjacket_pagelayout_pkg.tex
LaTeX2e <2021-11-15> patch level 1
[\directlua]:1: module 'luaotfload-main' not found:
no field package.preload['luaotfload-main']
[kpse lua searcher] file not found: 'luaotfload-main'
Error in luaotfload: reverting to OT1 L3 programming layer <2022-01-21>
(./pagelayout.cls
Document Class: pagelayout 2023/01/23 Layout graphic rich documents
(/usr/share/texlive/texmf-dist/tex/latex/pgfopts/pgfopts.sty
(/usr/share/texlive/texmf-dist/tex/latex/pgfkeys/pgfkeys.sty
! LaTeX Error: File `pgfkeys.code.tex' not found.
Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: tex)
TexWorks 似乎在 2022 版本中启动,然后在 2021 版本中搜索文件,然后失败。
答案1
我猜(我用的是 Debian,不是 Mint,也不是 Cinnamon),你的包管理器TexLive
对 Kile 和其他编辑器有依赖。你提到 Synaptic 是包管理器,但我没有用过,只用过apt
,所以这可能行得通,也可能行不通。
本质上,你需要让包管理器相信你有一些可以满足依赖关系的东西。对于.deb
文件(由apt
),你可以按照说明进行操作这里如果 Synaptic 不使用.deb
文件,则可能有类似的方法来指示您具有编辑器正在寻找的依赖项(或者您可以使用--no-deps
或安装编辑器--no-recommended
或类似工具安装编辑器)。为此,您可能需要在其他堆栈之一上寻求帮助,可能Unix 和 Linux SE。
答案2
避免 tlmgr 冲突
原始问题摘要:tlmgr 问题源于“原始”TeXLive(本例中为 2022)与另一个 TeXLive(2021)之间的冲突
我一直在使用 2021 版(包括 Kile、TexWorks 和 LyX),直到我找到了几个我真正想在工作中使用的 LaTeX 软件包。因此,我尝试使用 tlmgr 安装这些软件包,但它却犹豫了。
此时,我的目标是加载 vanilla TeXLive 2022 和 --- 我想法将会是一次全新安装 --- 因此解决了与 tlmgr 的内部冲突。因此我通过连接到 CTAN 镜像安装了 TL2022,并提供了将旧版本“与”2022“一起”保留的选项。我选择了这个,以防我现有的 *.tex 文档将来出现问题。
两个 TeXLive 安装位于 /usr 的不同分支中:
- TeXLive 2022 的 vanilla 默认文件夹位于 /usr/local/texlive...
- TeXLive 2021 位于 /usr/share/texlive
这一动作没有解决 tlmgr 问题,但只会使情况变得更糟(--> 现在我遇到了另一个冲突:tlmgr 不会从 CTAN 2022 镜像更新 2021)。
我尝试解决 tlmgr 问题,但结果却出现了文件权限问题,我的 sudo 权限被锁定了。唯一可行的解决方案是全新安装操作系统(这是一个将操作系统更新到 mint 21.1(64 位,cinnamon)的机会)。
第一次尝试:
我的步骤(不要重复这些!)是:
- 全新安装 Mint 21.1
- 从 DVD(从下载的 ISO 映像刻录)加载原始 TeXLive 2022。
- 安装 Kile 和 TexWorks(我一直在使用这两个)。
由于安装了两个 TeXLive,冲突立即出现;tlmgr 无法“按照宣传的那样”运行 &两个都的 Tex 编辑只使用 2021 版。我没有明知安装 2021 版本,因此它的存在非常令人困惑。我得出(错误的!)结论,Mint 默认加载了 TeXLive 2021 作为“突触包”为了我的方便 (!!)在操作系统安装过程中。
第二次尝试 (这次更慢,更多检查...!)
- 全新安装 Mint 21.1 ---> 检查 TeXLive 2021 的安装(未找到---很好!)
- 安装 TeXLive 2022(从 DVD 中安装,从 ISO 发行版刻录)---> 检查 TeXLive 2021 的安装(未找到---很好!)
- 安装 TeXWorks安装 texworks. ---> 检查 TeXLive 2021 的安装(未找到---好!) ---> 检查 TexWorks 是否访问 TeXLive 2022,并处理已知良好的文档 全部好!) ---> 检查 TeXLive 2021 的安装(未找到---好!)
此时此刻,我非常谨慎关于加载基勒。所以我做了一个试运行使用
sudo apt get install --dry-run kile
答对了!Kile 安装程序不是发现硬盘上已经有 2022 TeXLive,因此它默认安装来自“突触包”中的 TeXLive 2021 的依赖项。
我在这里又花了几个小时进行研究......这是问题的关键及其解决方案:
Kile 与 Debian 的包管理系统相关。您需要在原始 TeXLive 2022 周围挖一条护城河,并采取措施通知 Debian 的包管理系统(Kile 使用)有关由于之前安装了原始 TeX Live 而已经在使用的任何包。Debian 安装程序不会自行搜索它们!
这个话题,“将 vanilla TeX Live 与 Debian 集成”,详细说明如下: https://www.tug.org/texlive/debian.html#vanilla https://tug.org/pipermail/tex-live/2021-July/047300.html (如果您愿意,请点击附加的超链接)仔细阅读本节,“将 vanilla TeX Live 与 Debian 集成”,多次。您需要安装包“equivs”,以便创建“虚拟包”;如果您仔细按照提供的说明操作,它确实可以工作。
感谢所有提供意见、建议和答案的人。 —鸟人—