quarto-dev / quarto-dev/quarto-cli
quarto attempts to write into a read-only loction under /usr/local
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 458
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 41
Description
Bug description
I am attempting to port Quarto to FreeBSD.
Quarto is installed in /usr/local/share/quarto which is a read-only location.
For some reason Quarto attempts to write under /usr/local/share:
$ quarto render hello.qmd --to pdf
Executing 'hello.quarto_ipynb'
Cell 1/1: 'fig-polar'...Done
pandoc
to: latex
output-file: hello.tex
standalone: true
pdf-engine: xelatex
variables:
graphics: true
tables: true
default-image-extension: pdf
metadata
documentclass: scrartcl
classoption:
- DIV=11
- numbers=noendperiod
papersize: letter
header-includes:
- '\KOMAoption{captions}{tableheading}'
block-headings: true
title: Quarto Basics
jupyter: python3
Rendering PDF
running xelatex - 1
command xelatex not found, attempting install
finding package for xelatex
> 1 package to install
> installing xelatex (1 of 1)
ERROR: [non-error-thrown] tlmgr returned a non zero status code
You don't have permission to change the installation in any way,
specifically, the directory /usr/local/share/tlpkg/ is not writable.
Please run this program as administrator, or contact your local admin.
tlmgr: An error has occurred. See above messages. Exiting.
Stack trace:
You don't have permission to change the installation in any way,
specifically, the directory /disks/disk1/local/share/tlpkg/ is not writable.
Please run this program as administrator, or contact your local admin.
tlmgr: An error has occurred. See above messages. Exiting.
at Command.handleError (file:///usr/local/share/quarto/bin/quarto.js:8185:126)
at Command.parseCommand (file:///usr/local/share/quarto/bin/quarto.js:7910:18)
at eventLoopTick (ext:core/01_core.js:168:7)
at async quarto (file:///usr/local/share/quarto/bin/quarto.js:118803:9)
at async file:///usr/local/share/quarto/bin/quarto.js:118823:9
at async mainRunner (file:///usr/local/share/quarto/bin/quarto.js:118707:9)
at async file:///usr/local/share/quarto/bin/quarto.js:118814:5
Do you know how to prevent this?
Is it possible to change this location to under the current user's home directory?
Thank you,
Yuri
Steps to reproduce
No response
Expected behavior
No response
Actual behavior
No response
Your environment
FreeBSD 14.1
Quarto check output
n/a
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the error-handling path shown in quarto.js around lines 8185 and 7910, then trace how the xelatex installation invokes tlmgr. Determine whether the installation location can be configured for the current user, and verify that rendering no longer attempts to write under the read-only /usr/local/share path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100