首页 > 其他 > 详细

解决ggplot2升级导致镜像构建失败的问题

时间:2019-10-23 15:26:35      阅读:224      评论:0      收藏:0      [点我收藏+]

最近遇到安装R包报错的问题,之前一直是这样的装,没有出现过问题

Dockerfile:
#[ R-3.4.1 ]---------------------------------------------------------------
RUN cd /tmp_dir \
&& tar -zvxf R-3.4.1.tar.gz \
&& cd R-3.4.1 \
&& ./configure --with-cario --prefix=/software/R-3.4.1 && make && make install \
&& ln -s /software/R-3.4.1/bin/Rscript /usr/bin \
&& ln -s /software/R-3.4.1/bin/R /usr/bin \
&& rm -rf /tmp_dir
RUN Rscript /tmp_dir/R-package-install.r
----------------------------------------------------------------------------------------------
R-package-install.r 的内容为:
options(repos=structure(c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")))
install.packages("ggplot2", dependencies = TRUE)

看上去像是依赖包没装好的错误
但是再安装日志里显示依赖包已下载:‘roxygen2‘, ‘rversions‘, ‘units‘, ‘devtools‘, ‘xml2‘, ‘multcomp‘, ‘rgeos‘, ‘sf‘, ‘vdiffr‘

技术分享图片

仔细查看依赖包的安装日志发现如下的错误: Configuration failed because libudunits2.so was not found.
尝试安装libudunits2.sohttps://serverfault.com/questions/964896/missing-package-udunits2-on-centos
>yum install -y epel-release
>yum install -y udunits2-devel
新的报错:Configuration failed because libxml-2.0 was not found.
>yum install libxml2-devel
新的三个报错:
ERROR: dependency ‘mvtnorm‘ is not available for package ‘multcomp‘
ERROR: configuration failed for package ‘rgeos‘
ERROR: configuration failed for package ‘sf‘

>yum install -y geos-devel
>yum install -y gdal-devel
解决第二三个,第一个再尝试:
>install.packages("mvtnorm", dependencies = TRUE)
报错:package ‘mvtnorm‘ is not available (for R version 3.4.1)
尝试下载这个包的源码来安装,依然报错:

技术分享图片

需要3.5以上的R
下载一个低版本的这个包再试试:
>wget https://cran.r-project.org/src/contrib/Archive/mvtnorm/mvtnorm_1.0-0.tar.gz
>install.packages("/software/lib/R/mvtnorm_1.0-0.tar.gz", repos = NULL, type="source")
安装成功
再安装ggplot

技术分享图片

简直要吐血,难道是ggplot2最近升级了,需要一些新的包了?
下载一个旧版的ggplot安装试一下
>wget https://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_2.2.1.tar.gz
>install.packages("/software/lib/R/ggplot2_2.2.1.tar.gz", repos = NULL, type="source")
安成功了....
============================================================================
整理一下:
1.下载指定版本的ggplot2:

2.安装时依赖报错,自行安装依赖
> pkgs = c(‘digest‘, ‘gtable‘, ‘plyr‘, ‘reshape2‘, ‘scales‘, ‘tibble‘, ‘lazyeval‘)
> install.packages(pkgs)
> install.packages("/tmp_dir/ggplot2_2.2.1.tar.gz", repos = NULL, type="source")
这个版本的ggplot2不需要再安装其他的系统库

可用!

install.package不能指定版本也是无力吐槽

解决ggplot2升级导致镜像构建失败的问题

原文:https://www.cnblogs.com/rainq/p/11725962.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!