我尝试在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次。
答案 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”)=“”。
此步骤对我有用。希望我的解决方案对您有用。