Skip to content

tlmgr runs very slowly on Windows #512

Description

@jiedxu

Hi, thanks for this useful tool. I have been using it on Windows and Mac for years, but tlmgr became suddenly very slow on Windows. tlmgr seems to be able to complete a command, but taking minutes to install one package means impossible to use.

I installed on Windows using Chocolatey, and reinstalled today, but the problem is the same.

Maybe the debug information makes more sense to you guys:

❯ tlmgr -v install newtx
D:The handle is invalid
at open HKCU for all access
D:found lang code lm = en-US...
D:tlmgr version 78616 (2026-04-06 15:48:59 +0200)
D:maintree=C:/tools/TinyTeX
D:appending to package log file: C:/tools/TinyTeX/texmf-var/web2c/tlmgr.log
D:appending to command log file: C:/tools/TinyTeX/texmf-var/web2c/tlmgr-commands.log
D:Setting env var HTTPS_CA_FILE to C:/tools/TinyTeX/tlpkg/installer/curl/curl-ca-bundle.crt
D:tlmgr.pl:main: ::tldownload_server hash:: {enabled:1,errorcount:0,initcount:1,ua:LWP::UserAgent=HASH(0x285878e22f8)}
D:setup_programs: preferring system versions
D:(w32) trying to set up tar, default C:/tools/TinyTeX/tlpkg/installer/tar.exe, arg --version
D:Using shipped C:/tools/TinyTeX/tlpkg/installer/tar.exe for tar (tested).
D:program curl found in path
D:program wget not usable from path
D:(w32) trying to set up wget, default C:/tools/TinyTeX/tlpkg/installer/wget/wget.exe, arg --version
D:Using shipped C:/tools/TinyTeX/tlpkg/installer/wget/wget.exe for wget (tested).
D:TLUtils::setup_programs: checking for ssl enabled wget
D:TLUtils::setup_programs: wget has ssl, final wget args: --no-check-certificate --user-agent=texlive/wget --tries=4 --timeout=30 -q -O
D:program lz4 not usable from path
D:(w32) trying to set up lz4, default C:/tools/TinyTeX/tlpkg/installer/lz4/lz4.exe, arg --version
D:Using shipped C:/tools/TinyTeX/tlpkg/installer/lz4/lz4.exe for lz4 (tested).
D:program gzip found in path
D:program xz found in path
D:Using checksum method digest::sha
D:Testing for gpg in gpg

I disabled rtools44 path, as suggested by ChatGPT, and it seems to run smoother now:

❯ $env:PATH=($env:PATH -split ';' | Where-Object {$_ -notmatch 'rtools44'}) -join ';'

❯ tlmgr update --self --all
tlmgr.pl: package repository https://satztexnik.com/tex-archive/systems/texlive/tlnet (not verified: gpg unavailable)
tlmgr.pl: Preparing TeX Live infrastructure update...
DO NOT CLOSE THIS WINDOW!
TeX Live infrastructure update in progress ...
Detailed command logging to "C:\tools\TinyTeX\temp\update-self.log"
self update: texlive.infra (79365 -> 79511)
Infrastructure update finished successfully.
About to restart tlmgr to complete update ...
tlmgr.pl: package repository https://ftp.rrzn.uni-hannover.de/pub/mirror/tex-archive/systems/texlive/tlnet (not verified: gpg unavailable)
C:\tools\TinyTeX\texmf-dist\scripts\texlive\tlmgr.pl: (make_container __BACKUP_texlive-scripts.r79509.tar) install-tl does not exist
[1/1, ??:??/??:??] update: texlive-scripts [114k] (79509 -> 79598) ... done
running mktexlsr ...
done running mktexlsr.
running updmap-sys ...
done running updmap-sys.
tlmgr.pl: package log updated: C:/tools/TinyTeX/texmf-var/web2c/tlmgr.log
tlmgr.pl: command log updated: C:/tools/TinyTeX/texmf-var/web2c/tlmgr-commands.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions