匹配64位版本,但加载rJava时出错

匹配64位版本,但加载rJava时出错,r,rjava,R,Rjava,我已经将JAVA\u HOME设置为JAVA\u HOME=“C:\Program Files\JAVA\jre1.8.0\u 251” 我安装了一个64位版本的Java,它与我的64位R(4.0.2版)和Windows 10 Home相匹配 Error remains in loading rJava as below: Error: package or namespace load failed for ‘rJava’: .onLoad failed in loadNamespace()

我已经将JAVA\u HOME设置为JAVA\u HOME=“C:\Program Files\JAVA\jre1.8.0\u 251”

我安装了一个64位版本的Java,它与我的64位R(4.0.2版)和Windows 10 Home相匹配

Error remains in loading rJava as below:
Error: package or namespace load failed for ‘rJava’:
.onLoad failed in loadNamespace() for 'rJava', details:
call: inDL(x, as.logical(local), as.logical(now), ...)
error: unable to load shared object 'C:/my_R_library/rJava/libs/x64/rJava.dll':
我试图重新安装JAVA和R,但无法加载rJava。
我尝试了find.java()函数,它运行正常


有什么建议可以解决这个问题吗?

在基于Windows的PC上安装Java后,必须确保在操作系统中以R可以访问的方式对其进行配置。首先,检查Java控制面板。在windows 10搜索栏中,搜索配置Java,然后从Java控制面板的选项列表中按

从控制面板主窗口中,选择Java选项卡

然后按按钮

此时,您应该至少看到一行信息,说明安装Java的版本和位置

如果您的Java版本未列出,您可以使用按钮查找或添加已安装但未列出的版本

退出Java控制面板,打开命令窗口(在Windows搜索栏中键入cmd),然后键入

 java -version
这将显示Windows可见的Java版本,如下图所示

接下来,我们需要确认Java在RStudio中是可访问的。打开RStudio并使用
system()
函数检查Java的版本

  system("java -version")
我们应该收到与Windows命令行版本的
java-version
相同的结果

> system("java -version")
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
[1] 0
此时,应该能够安装
rJava
。但是,如果Java不可访问,我们需要使用
Sys.setenv()
函数来设置Java home的路径

# set JAVA_HOME to directory listed in Configure Java app, such as 
# C:\Program Files\Java\jre1.8.0_231
Sys.setenv(JAVA_HOME="C:/Program Files/Java/jre1.8.0_231")
…现在我们应该可以安装rJava了

 install.packages("rJava")


> install.packages("rJava")
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.6/rJava_0.9-12.zip'
Content type 'application/zip' length 1214816 bytes (1.2 MB)
downloaded 1.2 MB

package ‘rJava’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\leona\AppData\Local\Temp\RtmpWGyEQp\downloaded_packages
> 

我的问题终于解决了。由于我的Windows是中文版本,如果我安装了英文版本,它将无法识别路径中的任何中文字符。我所做的只是安装了一个中文版本R,根本不需要设置JAVA_主页。我希望这可以帮助他们在基于langauge的Windows上使用R。

首先,感谢Len Greski的建议。按照您的说明和交叉检查,my Windows和R-studio都显示相同的Java版本。rJava安装正确,但问题仍然存在。找不到加载共享对象rJava.dll的相关模块。我在R-studio中的路径设置会出错吗?Sys.setenv(path=“C:\\Program Files\\Java\\jre1.8.0\u 251;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\system32\\Wbem;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\;C:\\Windows\\system32\\OpenSSH\\;C:\\Users\\jecko\\AppData\\Local\\Microsoft\\WindowsApps;C:\\my\U库”)@LenGreski遵循了所有步骤,java版本匹配,但问题仍然存在。不幸的是,郑杰科的解决方案没有停止,因为我没有中文version@MariuszSiatka-此时,您应该向Github站点上rJava的作者提交一份缺陷报告。另外,您使用的是哪种语言版本的Windows?@Len Greski我使用的是波兰语版本。我会向你汇报情况issue@MariuszSiatka-我刚刚发现R支持波兰语。因此,如果您使用波兰语支持重新安装R,Java安装应该与您的操作系统配合使用,就像使用中文安装Jecko一样。干得好,Jecko。这不是一个容易解决的问题,操作系统和安装在操作系统上的软件之间的语言不兼容。绝对值得投一票!