rstudio / renv

renv: Project environments for R.
https://rstudio.github.io/renv/
MIT License
1.02k stars 155 forks source link

`renv::snapshot()` specific package install error means install process for all the packages needs to be repeated #1759

Open asadow opened 12 months ago

asadow commented 12 months ago

This is more a comment on user-friendliness.

After accepting the install prompt from renv::snapshot(), a list of packages starts to get installed. Many might succeed, but as soon as one fails, the entire process is abandoned. It would be nicer if the ones that succeed do not need to be processed (installed?) again.

A way to reproduce this is to run renv::snapshot() for a project where one package that needs to be installed is not on CRAN but a development package from GitHub. The install process will error when it gets to this package.

kevinushey commented 12 months ago

This behavior can be configured; please see https://rstudio.github.io/renv/reference/config.html#renv-config-install-transactional for more details.

That said, it might make sense to have another option like "ask" to prompt the user as to what action they'd prefer to take if an error is encountered.

asadow commented 12 months ago

Thanks for the link, Kevin. I now see the current behaviour was intended, though I am not aware of the reasons.

I like your idea. IME I usually activate renv when the project is well developed (to avoid the messages and snapshotting during development). Many packages are then installed, and then thrown away by an error.