かすみん日記

暇なときに何か喋ります

TeXLive アップデート 2017 to 2019

全然関係ないが、最近iOSやらiPadOSやらwatchOSやらアップデードしまくったので、長年放置してたTeXLiveもアップデートしたくなってきた。

10月中にはmacOSのアップデート(Catalina)も控えているので、このタイミングでTeXLiveをアップデートすることにした。

最新版の再インストールでもいいのだが、あくまでアップデートというのにこだわってしまって少し手こずってしまった。

ということで一応試行錯誤の記録を残しておく。

環境

  • macOS Mojave 10.14.5
  • texlive 2017 -> 2019

目的

  • texliveを2017から2019へアップデートする。
  • ゼロからインストールし直すのではなく、あくまでアップデートをする。
  • 旧バージョン(2017)は、新バージョンで上書きせずに取っておく。

補足

  • 下記の例において、旧バージョンのtexliveのディレクトリ名が2016となっているが、中身は2017。
  • 覚えていないが、昔に一度2016から2017へアップデートしたものと思われる。

手順

はじめに

ターミナルから tlmgr update --self --all を実行すると、次のようなメッセージが表示される。

tlmgr: Remote repository is newer than local (2017 < 2019)
Cross release updates are only supported with
  update-tlmgr-latest(.sh/.exe) --update
Please see https://tug.org/texlive/upgrade.html for details.

ディレクトリの複製

TeXLiveがインストールされているディレクトリを複製する。

cd /user/local/texlive
sudo cp -a 2016 2019

新しく作った方の tlpkg/backups/は要らないらしいので、中身を消去する。

sudo rm -r tlpkg/backups/*

注:このとき、tlpkg/backups/ディレクトリごと消去してしまうと、TeXLiveをアップデートする際にエラーが出てしまう。

tlmgr のパスを確認

tlmgr version コマンドを実行すると、texliveのパスとバージョンが表示される。

tlmgr revision 45286 (2017-09-13 03:55:27 +0200)
tlmgr using installation: /usr/local/texlive/2016
TeX Live (http://tug.org/texlive) version 2017

tlmgr のパスを変更

sudo tlmgr path remove を実行すると

not removing /usr/local/share/info/dir, not a link or wrong destination!
remove of symlinks had 1 error(s), see messages above.
tlmgr: An error has occurred. See above messages. Exiting.

とエラーが表示される。

sudo /usr/local/texlive/2019/bin/x86_64-darwin/tlmgr path add

を実行しても

add_link_dir_dir: /usr/local/share/info/dir exists; not making symlink.

とエラーが表示される。

手動でtlmgrのパスを変更。

cd /Library/TeX/texbin
mv texbin texbin-1
sudo ln -s /usr/local/texlive/2019/bin/x86_64-darwin/ /Library/TeX/texbin

tlmgr -version を実行すると

tlmgr revision 45286 (2017-09-13 03:55:27 +0200)
tlmgr using installation: /usr/local/texlive/2019
TeX Live (http://tug.org/texlive) version 2017

と表示され、一応tlmgrのパスは変更されていることが確認できる。

tlmgr のアップデート

次のコマンドを順に実行する。

cd /usr/local/texlive/2019
sudo curl -L http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh -O
sudo sh update-tlmgr-latest.sh -- --upgrade

再び tlmgr -version を実行すると

tlmgr revision 51555 (2019-07-05 00:23:27 +0200)
tlmgr using installation: /usr/local/texlive/2019
TeX Live (http://tug.org/texlive) version 2019

と表示され、tlmgrが最新のものにアップデートされている。

TeXLive のアップデート

sudo tlmgr update --self --all

を実行。

以上。今のところ特に不具合はない。

参考