Repository navigation
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
After upgrading from quarto-cli v1.7.34 to v1.8.24 I get the following error when trying to publish the default Quarto Book template (generated in RStudio 2025.05.1 Build 513.pro3 - the receiving Posit Connect server is v2025.04.0-0-gb111741196):
[?] Uploading files
ERROR: NotFound: No such file or directory (os error 2): stat 'site_libs/quarto-html/axe/axe-check.js'
Stack trace:
at Object.stat (ext:deno_fs/30_fs.js:410:21)
at file:///opt/quarto/bin/quarto.js:156140:31
at Array.map (<anonymous>)
at createTarFromFiles (file:///opt/quarto/bin/quarto.js:156139:15)
at createBundle (file:///opt/quarto/bin/quarto.js:156200:9)
at eventLoopTick (ext:core/01_core.js:178:7)
at async file:///opt/quarto/bin/quarto.js:156387:30
at async withSpinner (file:///opt/quarto/bin/quarto.js:121599:12)
at async Object.publish4 [as publish] (file:///opt/quarto/bin/quarto.js:156384:5)
at async publishSite (file:///opt/quarto/bin/quarto.js:158599:38)And the site is not published on the connect server.
Downgrading to quarto-cli v1.7.34 solves the issue, and further testing shows that the issue manifests in all quarto-cli versions after v1.7.34.
Steps to reproduce
Create the default Quarto Book template using generated in RStudio 2025.05.1 Build 513.pro3, and remove pdf rendering from _quarto.yml for simplicity:
project:
type: book
book:
title: "quarto_cli_test"
author: "Norah Jones"
date: "9/20/2025"
chapters:
- index.qmd
- intro.qmd
- summary.qmd
- references.qmd
bibliography: references.bib
format:
html:
theme:
- cosmo
- brandThen publish to Posit Connect Server (v2025.04.0-0-gb111741196) using quarto-cli v1.8.24:
$ quarto publish connect --no-browser --server <redacted> --token <redacted> --id "<redacted>"
[?] Preparing to publish site
Rendering for publish:
[1/4] index.qmd
processing file: index.qmd
1/3
2/3 [unnamed-chunk-1]
3/3
output file: index.knit.md
[...]
processing file: summary.qmd
1/3
2/3 [unnamed-chunk-1]
3/3
output file: summary.knit.md
[4/4] references.qmd
[?] Uploading files
ERROR: NotFound: No such file or directory (os error 2): stat 'site_libs/quarto-html/axe/axe-check.js'
Stack trace:
at Object.stat (ext:deno_fs/30_fs.js:410:21)
at file:///opt/quarto/bin/quarto.js:156140:31
at Array.map (<anonymous>)
at createTarFromFiles (file:///opt/quarto/bin/quarto.js:156139:15)
at createBundle (file:///opt/quarto/bin/quarto.js:156200:9)
at eventLoopTick (ext:core/01_core.js:178:7)
at async file:///opt/quarto/bin/quarto.js:156387:30
at async withSpinner (file:///opt/quarto/bin/quarto.js:121599:12)
at async Object.publish4 [as publish] (file:///opt/quarto/bin/quarto.js:156384:5)
at async publishSite (file:///opt/quarto/bin/quarto.js:158599:38)Running the quarto connect publish after export QUARTO_PRINT_STACK=true provides no further details.
Actual behavior
Publication to Posit Connect server fails.
Expected behavior
When downgrading to quarto-cli v1.7.34 (in the same docker container), publication works:
$ quarto publish connect --no-browser --server <redacted> --token <redacted> --id "<redacted>"
[?] Preparing to publish site
Rendering for publish:
[1/4] index.qmd
processing file: index.qmd
1/3
2/3 [unnamed-chunk-1]
3/3
output file: index.knit.md
[...]
processing file: summary.qmd
1/3
2/3 [unnamed-chunk-1]
3/3
output file: summary.knit.md
[4/4] references.qmd
[?] Uploading files
[?] Publishing site
[?] Published: https://<redacted>/content/<redacted>/Your environment
- IDE: RStudio
2025.05.1 Build 513.pro3(only used for generating Quarto Book template) - Posit Connect Server:
v2025.04.0-0-gb111741196 - Environment: ghcr.io/r-lib/rig/r
- quarto-cli:
v1.8.24
Quarto check output
Quarto check for v1.8.24:
$ quarto check
Quarto 1.8.24
[?] Checking environment information...
Quarto cache location: /root/.cache/quarto
[?] Checking versions of quarto binary dependencies...
Pandoc version 3.6.3: OK
Dart Sass version 1.87.0: OK
Deno version 2.3.1: OK
Typst version 0.13.0: OK
[?] Checking versions of quarto dependencies......OK
[?] Checking Quarto installation......OK
Version: 1.8.24
Path: /opt/quarto/bin
[?] Checking tools....................OK
TinyTeX: (not installed)
Chromium: (not installed)
[?] Checking LaTeX....................OK
Using: Installation From Path
Path: /usr/bin
Version: 2021
[?] Checking Chrome Headless....................OK
Chrome: (not detected)
[?] Checking basic markdown render....OK
[?] Checking Python 3 installation....OK
Version: 3.10.12
Path: /usr/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.5.1
Path: /opt/R/4.5.1/lib/R
LibPaths:
- /root/R/x86_64-pc-linux-gnu-library/4.5
- /opt/R/4.5.1/lib/R/library
knitr: 1.50
rmarkdown: 2.29
[?] Checking Knitr engine render......OKQuarto check for v1.7.34:
$ quarto check
Quarto 1.7.34
[?] Checking environment information...
Quarto cache location: /root/.cache/quarto
[?] Checking versions of quarto binary dependencies...
Pandoc version 3.6.3: OK
Dart Sass version 1.85.1: OK
Deno version 1.46.3: OK
Typst version 0.13.0: OK
[?] Checking versions of quarto dependencies......OK
[?] Checking Quarto installation......OK
Version: 1.7.34
Path: /opt/quarto/bin
[?] Checking tools....................OK
TinyTeX: (not installed)
Chromium: (not installed)
[?] Checking LaTeX....................OK
Using: Installation From Path
Path: /usr/bin
Version: 2021
[?] Checking Chrome Headless....................OK
Chrome: (not detected)
[?] Checking basic markdown render....OK
[?] Checking Python 3 installation....OK
Version: 3.10.12
Path: /usr/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.5.1
Path: /opt/R/4.5.1/lib/R
LibPaths:
- /root/R/x86_64-pc-linux-gnu-library/4.5
- /opt/R/4.5.1/lib/R/library
knitr: 1.50
rmarkdown: 2.29
[?] Checking Knitr engine render......OK
Activity
cscheid commentedon Sep 20, 2025
We'll investigate and fix right away. The default template shouldn't be doing anything with axe-check, that's definitely a bug.
cderv commentedon Sep 22, 2025
@cscheid we do add
axe-check.jsmodule in all our html output now. This is part ofquarto.jsmodule resolutionquarto-cli/src/format/html/format-html.ts
Lines 371 to 377 in 3c9950c
It seems to me this could be related to another issue, as I cannot publish either from Windows, but with a different error. As if the path is not correctly constructed.
And what I found is that this is a side effect of our change in TempContext creation. We are using it to create the tar.gz to upload.
quarto-cli/src/publish/rsconnect/rsconnect.ts
Lines 255 to 256 in 3c9950c
quarto-cli/src/publish/rsconnect/rsconnect.ts
Lines 263 to 267 in 3c9950c
quarto-cli/src/publish/common/bundle.ts
Lines 81 to 82 in 3c9950c
quarto-cli/src/publish/common/bundle.ts
Line 108 in 3c9950c
quarto-cli/src/publish/common/bundle.ts
Line 113 in 3c9950c
But at this last step the expectation of
tarFilesbeing relative totarFileis not meantquarto-cli/src/deno_ral/tar.ts
Lines 11 to 17 in 3c9950c
This could be due to the change we did for
diroption in temp contextquarto-cli/src/core/temp.ts
Lines 58 to 65 in 3c9950c
in
So passing expected
dirshould fix it. I'll try it by making a PR and testcderv commentedon Sep 22, 2025
I was wrong, this is due to Deno2 update with new
createTarFromFiles()that has this expectation offilePathsrelative tooutputPathwhich is not the case in this publish context using Temp Context.I don't think this function is working as expected... 🤔