Skip to content

Quarto vignettes use the installed version of the package, but Rmd vignettes use the current dev version #2830

@venpopov

Description

@venpopov

I just found out you can have Quarto vignettes and to try them out, I created a new package. I added a quarto vignette, but when I tried to build the site with build_site(), I got the following error:

── Installing package mytestpkg into temporary library ───────────────────────────────────────────
Error: 
! in callr subprocess.
Caused by error in `quarto::quarto_render(path, metadata_file = metadata_path, execute_dir = output_dir, …`:
! ✖ Error running quarto cli.
ℹ Rerun with `quiet = FALSE` to see the full error message.
Caused by error:
! System command 'quarto' failed
ℹ See `$stderr` for standard error.
Type .Last.error to see the more details.

Rendering regular .Rmd vignettes was fine. I was finally able to track down the issue: the code library(mytestpkg) in the vignette failed for the Quarto vignette, because in contrast to the Rmd vignette, it did not use see the temporary library.

Ok, so I install() the package locally and then it renders successfully. The problem is that if you make any updates, and you rebuild the website, the Quarto vignette will be built with the locally installed version, while the Rmd vignettes will be built with the current version that build_site() installs to a temporary library.

Screenshot 2024-12-07 at 07 11 58
Screenshot 2024-12-07 at 07 12 13

The deployment via github pages workflow doesn't have this problem and everything works fine, but locally Rmd and Qmd vignettes are built differently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions