-
Notifications
You must be signed in to change notification settings - Fork 426
quarto tinytex install silently ignores extraction failures #14304
Description
I have:
- searched the issue tracker for similar issues
- installed the latest version of Quarto CLI
- formatted my issue following the Bug Reports guide
Bug description
quarto tinytex install does not check the return value of the archive extraction step. When extraction fails (e.g., due to a missing xz binary), the installer reports success and proceeds to the next step, which then fails with an unrelated and confusing lstat / NotFound error.
Steps to reproduce
On a minimal Linux system (I used an ubuntu:24.04 docker container) without xz-utils installed, run quarto tinytex install --log-level debug.
With QUARTO_LOG_LEVEL=DEBUG, the output shows:
[✓] Downloading TinyTex v2026.04
Unzipping file /tmp/85cac4ac44f83333/TinyTeX-linux-x86_64-v2026.04.tar.xz
[execProcess] tar xf /tmp/85cac4ac44f83333/TinyTeX-linux-x86_64-v2026.04.tar.xz
tar (child): xz: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
/usr/bin/tar: Child returned status 2
/usr/bin/tar: Error is not recoverable: exiting now
[execProcess] Success: false, code: 2
[✓] Unzipping TinyTeX-linux-x86_64-v2026.04.tar.xz ← shows success despite failure
Moving files
ERROR: NotFound: No such file or directory (os error 2): lstat '/tmp/85cac4ac44f83333/.TinyTeX'
Actual behavior
The extraction returns { success: false, code: 2 } but the install proceeds as if it succeeded. It instead fails on the next step to move the extracted directory as it does not exist.
Expected behavior
The installer should detect the extraction failure, report a clear error (e.g., "Failed to extract TinyTeX archive. If using .tar.xz, ensure xz-utils is installed."), and stop execution prior to attempting to move the directory.
Your environment
- OS: Ubuntu 24.04 AMD64
Quarto check output
quarto check
Quarto 1.9.36
[✓] Checking environment information...
Quarto cache location: /root/.cache/quarto
[✓] Checking versions of quarto binary dependencies...
Pandoc version 3.8.3: OK
Dart Sass version 1.87.0: OK
Deno version 2.4.5: OK
Typst version 0.14.2: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
Version: 1.9.36
Path: /opt/quarto/1.9.36/bin
[✓] Checking tools....................OK
TinyTeX: (not installed)
Chromium: (not installed)
Chrome Headless Shell: (not installed)
VeraPDF: (not installed)
[✓] Checking LaTeX....................OK
Tex: (not detected)
[✓] Checking Chrome Headless....................OK
Chrome: (not detected)
[✓] Checking basic markdown render....OK
[✓] Checking R installation...........(None)
Unable to locate an installed version of R.
Install R from https://cloud.r-project.org/
[✓] Checking Python 3 installation....(None)
Unable to locate an installed version of Python 3.
Install Python 3 from https://www.python.org/downloads/
[✓] Checking Julia installation...