![Почему возникает эта ошибка tlmgr Unknown directive?](https://rvso.com/image/335470/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83%20%D0%B2%D0%BE%D0%B7%D0%BD%D0%B8%D0%BA%D0%B0%D0%B5%D1%82%20%D1%8D%D1%82%D0%B0%20%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%20tlmgr%20Unknown%20directive%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:
Вам нужно скачать update-tlmgr-latest.sh из репозитория tlpretest и запустить его. После этого вы сможете работать с 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 2016 после tmlgr
успешного наличия старого TeXLive в системе: нет ошибок/предупреждений /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
- прекратить использование Debian
tlmgr
дляустановитьпакетов, если вы не найдете архив версии TL 2015.
Это должно происходить лишь изредка, когда нам (команде TeX Live) необходимо изменить формат базы данных (за последние 5 лет этого не случалось, и, надеемся, не произойдет еще более 5 лет).
решение3
Вы не можете обновить TeXLive 2015 до TeXLive 2016. Вам следует выполнить чистую установку.
Отздесь:
Обновление с TeX Live 2015 до 2016
Из-за изменений в инфраструктуре обновление с версии TL'15 до TL'16 невозможно. (То же самое и с MacTeX.) Пожалуйста, просто выполните новую установку.
решение4
У меня была та же проблема Unknown directive ...containerchecksum
с Debian на Docker. Чтобы преодолеть это, я просмотрел все свои пакеты 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 поддерживает только старую версию.