![このエラー tlmgr Unknown directive が発生するのはなぜですか?](https://rvso.com/image/335470/%E3%81%93%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%20tlmgr%20Unknown%20directive%20%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
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
TeX Live/Debianから使用していますtlmgr
。これはパッケージ版です。このバージョンではない現在のリリース (2016) で動作し、回避する方法はありません。
次の 2 つのオプションがあります。
- アップストリームTeX Liveをインストールする
- Debianの使用を
tlmgr
やめるインストールTL 2015 バージョンのアーカイブが見つからない限り、パッケージは不要です。
これは、私たち (TeX Live チーム) がデータベース形式を変更する必要がある場合にのみまれに発生するはずです (過去 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
。
apt-get は古いバージョンのみを維持するため、この方法では texlive の古いバージョンのみがインストールされることに注意してください。