为什么会出现此错误 tlmgr 未知指令?

为什么会出现此错误 tlmgr 未知指令?

tlmgr我已经有一段时间没有使用它了,但是今天当我尝试使用它安装任何包时,它返回以下消息:

(在 Debian 上运行,切换到用户模式!)未知指令 ...containerchecksum c59200574a316416a23695c258edf3a32531fbda43ccdc09360ee105c3f07f9fb77df17c4ba4c2ea4f3a5ea6667e064b51e3d8c2fe6c984ba3e71b4e32716955...,请修复它!位于 /usr/share/texlive/tlpkg/TeXLive/TLPOBJ.pm 第 210 行,第 5579 行。

我尝试使用指定的修复程序https://www.tug.org/pipermail/tex-live/2016-April/038058.html

您必须从 tlpretest 存储库下载 update-tlmgr-latest.sh 并运行它。之后,您将能够像往常一样使用 tlmgr(几个小时前由 Norbert 宣布)。

我从https://www.tug.org/texlive/tlmgr.html,但它返回了另一个错误:

Verifying archive integrity... All good.
Uncompressing TeX Live Manager Updater............................................................................................................................................................................
./runme.sh: Cannot find TeX Live root using kpsewhich --var-value=SELFAUTOPARENT.
./runme.sh: Please set your PATH as needed, otherwise it's hopeless.

最小示例

在系统中成功安装旧版 TeXLive 后,干净地安装 vanilla TeXLive 2016 tmlgr:没有错误/警告/usr/local/texlive/2016/*.log,完整的日志示例这里
运行以下命令,但在尝试更新系统时会得到与上述相同的输出

root@masi:/home/masi/Downloads/t/install-tl-20161019# tlmgr update --self
(running on Debian, switching to user mode!)
Unknown directive ...containerchecksum c59200574a316416a23695c258edf3a32531fbda43ccdc09360ee105c3f07f9fb77df17c4ba4c2ea4f3a5ea6667e064b51e3d8c2fe6c984ba3e71b4e32716955... , please fix it! at /usr/share/texlive/tlpkg/TeXLive/TLPOBJ.pm line 210, <$retfh> line 5579.

答案1

如果您想继续使用 2015 版本,您应该使用以下命令将存储库设置为存档版本:

tlmgr option repository ftp://tug.org/historic/systems/texlive/2015/tlnet-final 

正如这里解释的那样如何安装旧版本的 TeXLive 软件包?

答案2

您使用的tlmgr是 TeX Live/Debian,即打包版本。此版本不是与当前(2016)版本兼容,并且没有办法解决这个问题。

您有两个选择:

  • 安装上游 TeX Live
  • 停止使用 Debiantlmgr安装除非您找到 TL 2015 版本的档案,否则您将无法找到任何软件包。

这种情况很少发生,当我们(TeX Live Team)需要更改数据库格式时(过去 5 年左右没有发生过这种情况,希望 5 年以上不会发生)。

答案3

您无法将 TeXLive 2015 升级到 TeXLive 2016。您应该进行全新安装。

这里

从 TeX Live 2015 升级到 2016

由于基础设施的变化,从 TL'15 版本升级到 TL'16 是不可行的。(同上 MacTeX。)请进行全新安装。

答案4

我在 Docker 上使用 Debian 时遇到了同样的问题Unknown directive ...containerchecksum。为了解决这个问题,我使用以下方法查找了所有 latex 包:

apt-get install -y apt-file
apt-file update
apt-file search <name-of-latex-package>

其中大多数都在texlive-latex-base和中texlive-latex-base,而我唯一需要的另一个是texlive-latex-extra。使用:

apt-get install -y texlive-latex-extra

然后我就不用构建我的图像了tlmgr

注意此方法仅安装旧版本的 texlive,因为 apt-get 仅维护旧版本。

相关内容