Open tyner opened 7 months ago
The important detail from the deployment log:
ℹ Capturing R dependencies with renv
The following required packages are not installed:
- shiny
Packages must first be installed before renv can snapshot them.
Use `renv::dependencies()` to see where this package is used in your project.
✔ Found 0 dependencies
renv did detect that shiny is not installed, but the lack of that package was not a problem.
When run interactively, rsconnect::writeManifest()
and rsconnect::deployApp()
present a prompt:
> rsconnect::writeManifest()
ℹ Capturing R dependencies with renv
The following required packages are not installed:
- shiny
Packages must first be installed before renv can snapshot them.
Use `renv::dependencies()` to see where this package is used in your project.
What do you want to do?
1: Snapshot, just using the currently installed packages.
2: Install the packages, then snapshot.
3: Cancel, and resolve the situation on your own.
Selection:
When run in a non-interactive context (such as using the deploy button in RStudio), that prompt is not provided and no error occurs.
Something has changed with renv, as we previously saw an error during deployment. Example from renv: https://github.com/rstudio/renv/issues/1607#issuecomment-1656159729
With https://github.com/rstudio/renv/pull/1370, it appears that the default behavior snapshots the installed packages, while it would previously cancel in a non-interactive context.
@kevinushey - was this aspect intentional? Could we have renv:::renv_snapshot_report_missing()
default to "cancel" or otherwise provide some option of producing an error during deployment-time dependency scanning?
Apologies if I am barking up the wrong tree, but figured I'd start here. Here is the deployment log (with some censoring of potentially sensitive info). If the root cause is that shiny is not installed, perhaps it could halt the deployment earlier in the process?
Here is my local
sessionInfo()