quarto-dev / quarto-dev/quarto-cli

tlmgr cannot install using macOS 12.5.1 and a BasicTeX install

Open
#2,215 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug installers latex
Dominant language
JavaScript
Stars
6k
Forks
458
Avg merge
1d 9h
Merged PRs (30d)
41

Description

Bug description

Hi, I use BasicTeX, a small TeX Live 2022 install for macOS. When rendering to PDF I get a permission error when tlmgr tries to install a required package.

It would be nice if I could enter my password when required. I can also manually run tlmgr based on the output from quarto, but I do appreciate the fact quarto tries to do this for me so I just wish it could handle authorisation...

▶︎ quarto render Quarto.qmd --to pdf
pandoc 
  to: latex
  output-file: Quarto.tex
  standalone: true
  pdf-engine: xelatex
  variables:
    graphics: true
    tables: true
  default-image-extension: pdf
  toc: true
  number-sections: true
  
metadata
  documentclass: scrartcl
  classoption:
    - DIV=11
    - numbers=noendperiod
  papersize: letter
  header-includes:
    - '\KOMAoption{captions}{tableheading}'
  block-headings: true
  title: Quarto
  author: Jane Doe
  lang: en
  bibliography:
    - /Users/ian/.local/share/pandoc/Core.json
  title-block-banner: true
  colorlinks: true
  
running xelatex - 1
  This is XeTeX, Version 3.141592653-2.6-0.999994 (TeX Live 2022) (preloaded format=xelatex)
   restricted \write18 enabled.
  entering extended mode
  
updating tlmgr

updating existing packages
finding package for tcolorbox.sty
> 1 package to install
> installing tcolorbox (1 of 1)
ERROR: tlmgr returned a non zero status code
You don't have permission to change the installation in any way,
specifically, the directory /usr/local/texlive/2022basic/tlpkg/ is not writable.
Please run this program as administrator, or contact your local admin.
tlmgr: An error has occurred. See above messages. Exiting.

Quarto version:

▶︎ quarto check

[✓] Checking Quarto installation......OK
      Version: 1.1.163
      Path: /Applications/quarto/bin

[✓] Checking basic markdown render....OK

[✓] Checking Python 3 installation....OK
      Version: 3.10.3
      Path: /Users/ian/.pyenv/versions/3.10.3/bin/python3
      Jupyter: (None)

      Jupyter is not available in this Python installation.
      Install with python3 -m pip install jupyter

[✓] Checking R installation...........OK
      Version: 4.2.1
      Path: /Library/Frameworks/R.framework/Resources
      LibPaths:
        - /Library/Frameworks/R.framework/Versions/4.2/Resources/library
      rmarkdown: 2.14

[✓] Checking Knitr engine render......OK
Checklist
  • Please include a minimal, fully reproducible example in a single .qmd file? Please provide the whole file rather than the snippet you believe is causing the issue.
  • Please format your issue so it is easier for us to read the bug report.
  • Please document the RStudio IDE version you're running (if applicable), by providing the value displayed in the "About RStudio" main menu dialog?
  • Please document the operating system you're running. If on Linux, please provide the specific distribution.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the PDF rendering path invoked by quarto render and the tlmgr package-install step shown in the report. Trace how Quarto handles the non-zero tlmgr status when the TeX Live directory is not writable. Done means a BasicTeX user can provide authorization when required, while the existing automatic package installation still works.

Written by the indexing model from the issue text.

Assessment

Tech stack
latex
Domain
build-system, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.