2017-05-30 5 views
2

Ich versuche, Gdata-Paket mit XLSX-Unterstützung auf Centos7 in Docker Bild zu installieren. Laufender Befehl gdata :: installXLSXsupport() schlägt fehl.Fehler in gdata :: installXLSXsupport() auf Docker Centos 7

Mein Dockerfile sieht wie folgt aus:

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()" 

Build-Prozess im letzten Schritt mit der Meldung abstürzt:

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 

Was die Ursache für dieses Problem sein kann?

Antwort

0

gdata :: installXLSXsupport() -

Diese Funktion ruft die Perl-Skript 'install_modules.pl' befindet sich in das Perl-Unterverzeichnis des gdata Paketverzeichnis (oder inst/perl in das Quellpaket). Dieses Perl-Skript versucht, das Perl 'CPAN' -Paket zu verwenden, das als Teil der meisten Perl-Installationen enthalten sein sollte, um die Compress :: Raw :: Zlib- und Spreadsheet :: XLSX-Perl-Module automatisch herunterzuladen, zu kompilieren und zu installieren benötigt für read.xls

Manchmal ist es zu viel Schmerz, CPAN zu verwenden.

Versuchen RUN R -e "gdata::installXLSXsupport()" mit

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

+0

Dank zu ersetzen. Leider funktioniert es nicht (die Nachricht, wenn gdata geladen wird, wird weiterhin angezeigt). Was seltsam ist, ist, wie Sie zitiert haben, dass die Dokumentation besagt, dass dies die Funktion dieser Funktion ist. Ich habe versucht, es vor dem Installieren des Pakets zu installieren (so dass es vielleicht irgendwie im Paketinstallationsprozess verwendet wird), aber es funktioniert auch nicht. Wenn dies installiert ist, wird jedoch der Fehler von "RUN R -e" gdata :: installXLSXsupport() ", geändert in" Fehler in gdata :: installXLSXsupport(): Nicht möglich, Perl XLSX-Support-Bibliotheken zu installieren. Ausführung gestoppt ". –