我的 Dockerfile 使用 renv 并且我有以下 RUN 命令(这里的整个文件:https://github.com/chpatola/docker-r-tutorial/blob/main/local_file/Dockerfile)
RUN Rscript -e "renv::restore(prompt = FALSE)"
在构建映像时运行它时,我收到以下消息:
该库已与锁定文件同步。
但是,当我从映像运行容器并启动 R (docker run -it -v "$(pwd):/usr/src/orders" --name data_cont handle_data) 时,我收到以下消息:
以下软件包已将符号链接破坏到缓存中:
断言,cli,蜡笔,摘要,dplyr,省略号,fansi,泛型,胶水,生命周期,lubridate,magrittr,支柱,pkgconfig,purrr,R6,Rcpp,rlang,tibble,tidyselect,utf8,vctrs
用于
renv::repair()
尝试重新安装这些软件包。
该项目可能不同步 - 用于
renv::status()
了解更多详细信息。警告消息:以下软件包在缓存中缺少条目:断言,cli,蜡笔,摘要,dplyr,省略号,fansi,泛型,胶水,生命周期,lubridate,magrittr,支柱,pkgconfig,purrr,R6,Rcpp,rlang,tibble,tidyselect,utf8,vctrs
这些软件包将需要重新安装。
我不明白这里出了什么问题。在我的开发计算机上,我打了电话renv::init()
,然后renv::isolate()
. 我可以做些什么renv::restore()
来安装包以正确安装包,以便在容器运行时可以正常加载它们?谢谢!