无法在Rstudio中安装xlsx软件包

时间:2018-07-16 15:50:10

标签: r installation package

我尝试在R中安装xlsx软件包。

install.packages("xlsx") 

installing *source* package 'xlsx' ...
** package 'xlsx' successfully unpacked and MD5 sums checked
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
*** arch - i386
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: fun(libname, pkgname)
  error: No CurrentVersion entry in Software/JavaSoft registry! Try re-installing Java and make sure R and Java have matching architectures.
Error: loading failed
Execution halted
*** arch - x64
ERROR: loading failed for 'i386'
* removing 'C:/Users/hi/Documents/R/win-library/3.3/xlsx'
Warning in install.packages :
  running command '"C:/PROGRA~1/R/R-33~1.2/bin/x64/R" CMD INSTALL -l "C:\Users\hi\Documents\R\win-library\3.3" C:\Users\hi\AppData\Local\Temp\RtmpSGp15V/downloaded_packages/xlsx_0.6.1.tar.gz' had status 1
Warning in install.packages :
  installation of package ‘xlsx’ had non-zero exit status

The downloaded source packages are in
    ‘C:\Users\hi\AppData\Local\Temp\RtmpSGp15V\downloaded_packages’

然后我也运行了库函数

library(xlsx)

Error in library(xlsx) : there is no package called ‘xlsx’

To ensure that whether the package has been installed itself or not I ran

grepl("xlsx",installed.packages())
# It returns "FALSE" 649 times in a row.

我在线阅读了有关一些rjava软件包也需要安装的信息,所以我试图

install.packages('rJava')
install.packages("xlsxjars")

package ‘rJava’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\hi\AppData\Local\Temp\RtmpSGp15V\downloaded_packages

确保grepl(“ rJava”,installed.packages()) 再一次,我获得了“假” 649次。

2 个答案:

答案 0 :(得分:0)

我最近在另一个软件包中遇到了类似的问题,并且对R和Java集成感到头疼。我的理解是,必须为要使用的每种体系结构安装Java。如果R尝试为两种体系结构都安装xlsx,而您只安装了64位Java,则将导致失败,就像您得到的那样。您可以尝试:

install.packages("xlsx", INSTALL_opts=c("--no-multiarch"))

这将阻止它尝试为32位体系结构安装xlsx

答案 1 :(得分:0)

几个月前,我遇到了同样的问题。就我而言,解决方案是安装两个版本的Java(32位和64位体系结构)。在Windows 10上,应将32位体系结构安装在路径./programfiles(x86)/ ...上,并将64位体系结构安装在./programfiles / ...上。两种java安装程序都可以在官方网站上找到。页。

在安装完两种Java体系结构之后,必须确保将JAVA HOME环境声明为空字符串。 Sys.getenv(“ JAVA HOME”)=“”。

此步骤对我有用。希望我的解决方案对您有用。