'Docker & R (renv): RUN package installations not found when running container
My Dockerfile uses renv and I have the following RUN command (whole file here: https://github.com/chpatola/docker-r-tutorial/blob/main/local_file/Dockerfile)
RUN Rscript -e "renv::restore(prompt = FALSE)"
When it is run as I build the image, I get this message:
The library is already synchronized with the lockfile.
However, when I run a container from the image and start R (docker run -it -v "$(pwd):/usr/src/orders" --name data_cont handle_data), I get these messages:
The following package(s) have broken symlinks into the cache:
assertthat, cli, crayon, digest, dplyr, ellipsis, fansi, generics, glue, lifecycle, lubridate, magrittr, pillar, pkgconfig, purrr, R6, Rcpp, rlang, tibble, tidyselect, utf8, vctrs
Use
renv::repair()to try and reinstall these packages.
The project may be out of sync -- use
renv::status()for more details. Warning message: The following package(s) are missing entries in the cache:assertthat, cli, crayon, digest, dplyr, ellipsis, fansi, generics, glue, lifecycle, lubridate, magrittr, pillar, pkgconfig, purrr, R6, Rcpp, rlang, tibble, tidyselect, utf8, vctrs
These packages will need to be reinstalled.
I do not understand what has gone wrong here. On my dev computer, I called renv::init() and then renv::isolate(). What can I do to get the package installation from renv::restore() to instal the packages properly so they can be loaded normally when the container is run? Thanks!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
