Docker Centos 7上的gdata :: installXLSXsupport()出现错误

我尝试在Docker镜像中的Centos7上安装带有XLSX支持的gdata包。 运行命令gdata :: installXLSXsupport()失败。

我的Dockerfile如下所示:

FROM centos:latest RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm RUN yum install -y R RUN yum install -y libcurl-devel RUN yum install -y openssl-devel RUN yum install -y libssh2-devel RUN yum install -y libxml2-devel RUN yum install -y perl-CPAN RUN R -e "install.packages('gdata', repos='https://cran.rstudio.com/')" RUN R -e "gdata::installXLSXsupport()" 

生成过程崩溃的最后一步与消息:

 Step 10/10 : RUN R -e "gdata::installXLSXsupport()" ---> Running in 4e15bdcd2422 R version 3.3.3 (2017-03-06) -- "Another Canoe" Copyright (C) 2017 The R Foundation for Statistical Computing Platform: x86_64-redhat-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > gdata::installXLSXsupport() Attempting to create directory /root/perl5 Warning: prerequisite Test::More 0 not found. Tried to deactivate inactive local::lib '/root/perl5' Use of uninitialized value $deactivating in numeric eq (==) at /usr/share/perl5/vendor_perl/local/lib.pm line 381. Use of uninitialized value $deactivating in numeric eq (==) at /usr/share/perl5/vendor_perl/local/lib.pm line 383. Use of uninitialized value $options{"interpolate"} in numeric eq (==) at /usr/share/perl5/vendor_perl/local/lib.pm line 424. Use of uninitialized value $options{"interpolate"} in numeric eq (==) at /usr/share/perl5/vendor_perl/local/lib.pm line 424. Use of uninitialized value $options{"interpolate"} in numeric eq (==) at /usr/share/perl5/vendor_perl/local/lib.pm line 424. Use of uninitialized value $_[0] in substitution (s///) at /usr/share/perl5/File/Basename.pm line 341. fileparse(): need a valid pathname at /usr/share/perl5/CPAN/FirstTime.pm line 1354. Error in gdata::installXLSXsupport() : Unable to install Perl XLSX support libraries. In addition: Warning message: running command ''/usr/bin/perl' '/usr/lib64/R/library/gdata/perl/install_modules.pl'' had status 255 Execution halted The command '/bin/sh -c R -e "gdata::installXLSXsupport()"' returned a non-zero code: 1 

什么可能是这个问题的原因?

gdata :: installXLSXsupport() –

此函数调用位于gdata软件包目录(或源软件包中的inst / perl)的perl子目录中的perl脚本“install_modules.pl”。 这个perl脚本尝试使用perl'CPAN'软件包,它应该作为大部分perl安装的一部分被包含,以自动下载,编译和安装读取所需的Compress :: Raw :: Zlib和Spreadsheet :: XLSX perl模块的.xls

有时使用CPAN太痛苦了。

尝试使用replaceRUN R -e "gdata::installXLSXsupport()"

yum install -y perl-Compress-Raw-Zlib perl-Spreadsheet-XLSX