Skip to content

Document how to maintain your Quarto version #5047

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
cwickham opened this issue Mar 31, 2023 · 9 comments
Open

Document how to maintain your Quarto version #5047

cwickham opened this issue Mar 31, 2023 · 9 comments
Assignees
Labels
documentation Doc improvements & quarto-web enhancement New feature or request
Milestone

Comments

@cwickham
Copy link
Collaborator

With an upcoming release, it would be nice to be able to point people to some documentation on what it means to upgrade Quarto.

For instance, RStudio users who rely on the bundled Quarto, may have never installed Quarto themselves. Should they install 1.3, or should they wait for a version of RStudio that bundles it? Do they need to do anything if they install 1.3 now, but later install RStudio with a more recent version of Quarto?

We might include:

  • How to get basic info on your current install
  • Recommendations for when and how to upgrade
  • Common "gotchas" when you have more than one Quarto version installed
  • What to do if you need to downgrade your Quarto version
@cwickham cwickham added the documentation Doc improvements & quarto-web label Mar 31, 2023
@cwickham cwickham added this to the v1.4 milestone Mar 31, 2023
@cwickham cwickham self-assigned this Mar 31, 2023
@cderv
Copy link
Collaborator

cderv commented Mar 31, 2023

I think this topic can also cover some missing part in the documentation regarding what we bundle and publish or other side project that helps with this

Specific to windows user

All OS

Probably worth mentioning somewhere these options if we document how to update or downgrade.

@ttmc
Copy link

ttmc commented Apr 2, 2023

On Ubuntu (and probably on other Debian-like Linux distros), I "update" Quarto by purging the existing one:

sudo dpkg --purge quarto

(That might complain, meh, c'est la vie avec Linux.)

Then I download the latest .deb file from https://quarto.org/docs/get-started/ and install it using

sudo apt install /path/to/package/name.deb

which is silly because quarto really should just be a package that apt knows how to install and upgrade, but I guess that's beyond the scope of this issue.

@cderv
Copy link
Collaborator

cderv commented Apr 3, 2023

Also FWIW, there is already a page about how to install Quarto on Linux in one of the Posit's pro product doc.
https://docs.posit.co/resources/install-quarto/#install-quarto

This should probably be moved and linked to, or at least copied to https://quarto.org

@ttmc In this doc, and this is also what I do, we use gdebi (sudo apt-get install gdebi-core

$ sudo gdebi quarto-linux-amd64.deb

I believe it handles for you the uninstallation / overwrite

Though, I believe apt now supports a .deb file so this should work

$ sudo apt install ./quarto-linux-amd64.deb

@ttmc
Copy link

ttmc commented Apr 3, 2023

@cderv One can use gdebi to install a package from a .deb file on Ubuntu (instead of apt or dpkg), but this issue is about documenting how to upgrade/update an already-installed package. Can gdebi do that, and if so, how?

@cderv
Copy link
Collaborator

cderv commented Apr 3, 2023

Can gdebi do that, and if so, how?

It believe it does install over an existing package without the need of uninstalling the previous. At least it does in my ubuntu environment

@helmingstay
Copy link

On Ubuntu (and probably on other Debian-like Linux distros), I "update" Quarto by purging the existing one:

sudo dpkg --purge quarto

(That might complain, meh, c'est la vie avec Linux.)

Then I download the latest .deb file from https://quarto.org/docs/get-started/ and install it using

sudo apt install /path/to/package/name.deb

Question: Does the behavior of this method differ from installing a new one over an existing install, eg,
dpgk -i <new-version.deb>?

@cwickham
Copy link
Collaborator Author

Adding another example from slack:

Is there an easy way to install quarto on debian, for people running it in docker?

Some answers:

  1. From the Rocker project, you can find a fancy script to install Quarto: https://github.com/rocker-org/rocker-versioned2/blob/master/scripts/install_quarto.sh

    • Download the Quarto deb file
    • Run dpkg -i quarto.deb
    • Check your install quarto check
  2. Since we are talking about VSCode, there is a devcontainer feature: https://github.com/rocker-org/devcontainer-features/blob/main/src/quarto-cli/README.md

  3. See example at: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=quarto-cli-bin

  4. conda install quarto (via conda-forge)

@ttmc
Copy link

ttmc commented Apr 13, 2023

@helmingstay I start with sudo dpkg --purge quarto just to be sure my old install (including its configuration info) is gone, leaving a "clean slate" for the new install.

The manpage for dpkg -i says:

"Installation consists of the following steps:

  1. Extract the control files of the new package.
  2. If another version of the same package was installed before the new installation, execute prerm script of the old package.
  3. Run preinst script, if provided by the package.
  4. Unpack the new files, and at the same time back up the old files, so that if something goes wrong, they can be restored.
  5. If another version of the same package was installed before the new installation, execute the postrm script of the old package. Note that this script is executed after the preinst script of the new package, because new files are written at the same time old files are removed.
  6. Configure the package. See --configure for detailed information about how this is done."

Therefore what happens depends on the contents of the old .deb package, and on the contents of the new one. In particular, it depends on what the prerm, preinst and postrm scripts do (if they exist at all). I don't know, and I'm not going to bother to look, because my update method obviates the need for such scrutiny.

@cwickham
Copy link
Collaborator Author

Related to #4505

@cwickham cwickham modified the milestones: v1.5, Future Jun 24, 2024
@cwickham cwickham added enhancement New feature or request labels Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Doc improvements & quarto-web enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants