我试图在码头映像中安装R库ggpubr。我拔出了r-基数:3.6.3,下面是我的Dockerfile:
FROM r-base:3.6.3
COPY . /usr/local/src/myscripts
WORKDIR /usr/local/src/myscripts
RUN Rscript Rinstall_packages.R这是我的Rinstall_packages.R文件:
install.packages("ggplot2")
install.packages("reshape")
install.packages("ggpubr")
install.packages("stringr")每次我得到这样的输出:
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我尝试以批处理模式安装库:
docker run -ti --rm r-base:3.6.3 bash
apt-get update && apt-get install libcurl4-openssl-dev
R
>install.packages("ggpubr")它起作用了。但是,退出bash之后,我仍然不能使用这个库。
有人能帮我安装这个库吗?
发布于 2020-06-04 09:55:51
如果对容器(即正在运行的映像)进行更改,这些更改是在临时层中进行的,在容器停止和删除后不会持久。您必须更改映像,以便在启动容器时,所有内容都可用。所以你必须改变Dockerfile。
您确实添加了系统库libcurl4-openssl-dev,使其正常工作,因此将其添加到第二行的Dockerfile中。
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对参数更明确,以避免那些警告。
https://stackoverflow.com/questions/62184290
复制相似问题