Installing R library XLConnect on OS 10.8.2

2019-02-13 08:00发布

问题:

XLConnect is, as the manual describes it, "a package that allows for reading, writing and manipulation of Microsoft Excel files from within R".

Installation on Windows and Linux is straightforward. Simply tell R to install.packages("XLConnect"), and you're done. On OS X you need to use install.packages("XLConnect", type="source"), the installation instructions say.

Trying this under OS 10.8.2, R output a number of error messages. I post them here, so Google can send people with similar problems to this Q and A. For a solution to the problem, scroll down.


R output:

> install.packages("XLConnect", type = "source")
also installing the dependencies ‘XLConnectJars’, ‘rJava’

versuche URL 'http://ftp5.gwdg.de/pub/misc/cran/src/contrib/XLConnectJars_0.2-4.tar.gz'
Content type 'application/x-gzip' length 16539227 bytes (15.8 Mb)
URL geöffnet
==================================================
downloaded 15.8 Mb

versuche URL 'http://ftp5.gwdg.de/pub/misc/cran/src/contrib/rJava_0.9-3.tar.gz'
Content type 'application/x-gzip' length 537153 bytes (524 Kb)
URL geöffnet
==================================================
downloaded 524 Kb

versuche URL 'http://ftp5.gwdg.de/pub/misc/cran/src/contrib/XLConnect_0.2-4.tar.gz'
Content type 'application/x-gzip' length 1719698 bytes (1.6 Mb)
URL geöffnet
==================================================
downloaded 1.6 Mb

* installing *source* package ‘rJava’ ...
** Paket ‘rJava’ erfolgreich entpackt und MD5 Summen überprüft
/Library/Frameworks/R.framework/Resources/bin/config: line 142: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 143: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 219: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 142: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 143: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 219: make: command not found
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
ERROR: configuration failed for package ‘rJava’
* removing ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/rJava’
ERROR: dependency ‘rJava’ is not available for package ‘XLConnectJars’
* removing ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/XLConnectJars’
ERROR: dependencies ‘XLConnectJars’, ‘rJava’ are not available for package ‘XLConnect’
* removing ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/XLConnect’

Die heruntergeladenen Quellpakete sind in 
    ‘/private/var/folders/some/path/to/downloaded_packages’
Warnmeldungen:
1: In install.packages("XLConnect", type = "source") :
 Installation des Pakets ‘rJava’ hatte Exit-Status ungleich 0
2: In install.packages("XLConnect", type = "source") :
 Installation des Pakets ‘XLConnectJars’ hatte Exit-Status ungleich 0
3: In install.packages("XLConnect", type = "source") :
 Installation des Pakets ‘XLConnect’ hatte Exit-Status ungleich 0
> library(XLConnect)
Fehler in library(XLConnect) : es gibt kein Paket namens ‘XLConnect’

回答1:

Installation on Mac OSX is a tiny bit more complicated than the installation instructions suggest. Martin Studer at Mirai Solutions, the developer of the package, helped my solve my difficulties, and I want to post the procedure here to help other users possibly encountering the same problems.

  1. Install Java
    Due to security concerns, recent versions of OS X come without Java. If you updated from a version with Java, it will have been uninstalled! Check, if you have Java. If not, download and install it.
  2. Install rJava
    You will (later) install XLConnect from source, because there is no binary for OS X. During this installation process, you will get an error, when R tries to install the dependent package rJava, because this must be installed from the binary. So you have to install it first, using
    install.packages("rJava")
  3. Install XLConnect
    Finally, install XLConnect from source:
    install.packages("XLConnect", type="source")