首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在码头形象中安装R库"ggpubr“?

如何在码头形象中安装R库"ggpubr“?
EN

Stack Overflow用户
提问于 2020-06-03 23:16:53
回答 1查看 706关注 0票数 0

我试图在码头映像中安装R库ggpubr。我拔出了r-基数:3.6.3,下面是我的Dockerfile:

代码语言:javascript
运行
复制
FROM r-base:3.6.3
COPY . /usr/local/src/myscripts
WORKDIR /usr/local/src/myscripts
RUN Rscript Rinstall_packages.R

这是我的Rinstall_packages.R文件:

代码语言:javascript
运行
复制
install.packages("ggplot2")
install.packages("reshape")
install.packages("ggpubr")
install.packages("stringr")

每次我得到这样的输出:

代码语言:javascript
运行
复制
ERROR: dependency ‘rio’ is not available for package ‘car’
* removing ‘/usr/local/lib/R/site-library/car’
ERROR: dependency ‘car’ is not available for package ‘rstatix’
* removing ‘/usr/local/lib/R/site-library/rstatix’
ERROR: dependency ‘rstatix’ is not available for package ‘ggpubr’
* removing ‘/usr/local/lib/R/site-library/ggpubr’

The downloaded source packages are in
        ‘/tmp/Rtmp0tYFyC/downloaded_packages’
Warning messages:
1: In install.packages("ggpubr") :
  installation of package ‘curl’ had non-zero exit status
2: In install.packages("ggpubr") :
  installation of package ‘rio’ had non-zero exit status
3: In install.packages("ggpubr") :
  installation of package ‘car’ had non-zero exit status
4: In install.packages("ggpubr") :
  installation of package ‘rstatix’ had non-zero exit status
5: In install.packages("ggpubr") :
  installation of package ‘ggpubr’ had non-zero exit status

我尝试以批处理模式安装库:

代码语言:javascript
运行
复制
docker run -ti --rm r-base:3.6.3 bash
apt-get update && apt-get install libcurl4-openssl-dev
R
>install.packages("ggpubr")

它起作用了。但是,退出bash之后,我仍然不能使用这个库。

有人能帮我安装这个库吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-04 09:55:51

如果对容器(即正在运行的映像)进行更改,这些更改是在临时层中进行的,在容器停止和删除后不会持久。您必须更改映像,以便在启动容器时,所有内容都可用。所以你必须改变Dockerfile

您确实添加了系统库libcurl4-openssl-dev,使其正常工作,因此将其添加到第二行的Dockerfile中。

代码语言:javascript
运行
复制
FROM r-base:3.6.3
RUN apt-get update && apt-get install libcurl4-openssl-dev
COPY . /usr/local/src/myscripts
WORKDIR /usr/local/src/myscripts
RUN Rscript Rinstall_packages.R

还请记住,调用Rscript并不像启动交互式R那样启动R (选项、预加载库可能有所不同)。

我的第二个@akrun对参数更明确,以避免那些警告。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62184290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档