提问人:Abhishek Bhatia 提问时间:12/27/2014 最后编辑:Abhishek Bhatia 更新时间:5/3/2022 访问量:105896
无法在 R 上加载 rJava
Unable to load rJava on R
问:
我希望在 R x64 3.1.2 中加载 rJava。 操作系统- Windows 8.1 64位
虽然安装似乎工作正常:
> install.packages("rJava")
Installing package into ‘C:/Users/sony/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
trying URL 'http://cran.utstat.utoronto.ca/bin/windows/contrib/3.1/rJava_0.9-6.zip'
Content type 'application/zip' length 758898 bytes (741 Kb)
opened URL
downloaded 741 Kb
package ‘rJava’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\sony\AppData\Local\Temp\RtmpamYUH7\downloaded_packages
加载包时出现错误:
library(rJava)
Error in get(Info[i, 1], envir = env) :
lazy-load database 'C:/Users/sony/Documents/R/win-library/3.1/rJava/R/rJava.rdb' is corrupt
In addition: Warning message:
In get(Info[i, 1], envir = env) : internal error -3 in R_decompress1
Error: package or namespace load failed for ‘rJava’
我知道我正在使用 R-64 位,同时环境变量 Path 设置为:
C:\Program Files\Java\jdk1.7.0_51\bin;C:\Program Files\Java\jre7\bin\server;
此外,Java 版本也是 64 位。我不明白错误背后的原因。
通过 R 手动设置时:
options(java.home="C:\\Program Files\\Java\\jdk1.7.0_51\\bin")
library(rJava)
我收到此错误:
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: inDL(x, as.logical(local), as.logical(now), ...)
error: unable to load shared object 'C:/Users/sony/Documents/R/win-library/3.1/rJava/libs/x64/rJava.dll':
LoadLibrary failure: The specified module could not be found.
Error: package or namespace load failed for ‘rJava’
有什么建议吗?在我卸载了一些旧版本的 Java 后,该错误似乎出现了。
别人: 另外,我没有将JAVA_HOME设置为环境变量。
卸载并重新安装 R 似乎也无法解决问题。
删除较旧的 java 版本也无济于事。
答:
用:
Sys.setenv(JAVA_HOME='...path to JRE...')
例如
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jdk1.7.0_51\\jre')
您的环境变量是错误的。
评论
Sys.setenv(JAVA_HOME='')
我遇到了类似的错误:
> library(rJava)
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: inDL(x, as.logical(local), as.logical(now), ...)
error: unable to load shared object 'C:/program files/R/R-3.1.2/library/rJava/libs/x64/rJava.dll':
LoadLibrary failure: The specified module could not be found.
我指向的是 ,而不是 .JAVA_HOME
JDK
JRE
> Sys.getenv("JAVA_HOME")
[1] "c:\\java\\jdk1.7.0_55"
> Sys.setenv(JAVA_HOME="c:\\java\\jdk1.7.0_55\\jre")
我现在可以加载并进入.rJava
xlsx
R
我遇到了类似的问题,花了一整天的时间来解决它。 虽然我的电脑、windows7 和 Rstudio 是 64 位,但我的 Java 是 32 位(!一旦我意识到这一点,我就下载了一个 64 位 Java。我必须手动下载,自动下载将导致 32 位版本,因为我的 chrome 浏览器是 32 位。64 位 Java 将自动安装在
C:\Program Files\Java,但是,32 位 Java 将自动 安装在 C:\Program Files (x86) \Java 中。
这是一个重要的指标,告诉我我的 Java 是 64 位或 32 位。
安装 64 位 Java 后,一切正常!
每次 Java 将更新偷偷带到我的 PC 上时,我都会收到此错误。当我去的时候:
Sys.getenv("Path")
我在输出中发现了一些东西,看起来像
C:\\Program Files \\Java\\jre1.8.0_112\\bin\\server\\
其中子文件夹的最后几位数字已过时。jre
若要在所有位置修复此问题,可能需要编辑 Windows 环境变量。为此,请转到WINDOWS + X键,从菜单中选择命令提示符(管理员),然后键入
rundll32.exe sysdm.cpl,EditEnvironmentVariables
在命令框中。这将调用此对话框,其中包含 PATH 变量(和其他系统变量)的编辑权限:
用于编辑长环境变量的 Windows 界面有点笨拙,所以在我单击编辑后...我喜欢将生成的混乱路径复制粘贴到Notepad .exe,在那里完成工作,然后复制粘贴回来。
遇到类似的错误消息。
尝试了此处列出的几个步骤。
- 设置 Env。可变,JAVA_HOME。=> 没用。
- 尝试安装 rJava +> 不起作用 步骤 3、4、5 奏效了。
- 更新了我的 Java 64 位版本 8.xx(最新可用)
- install.packages(rJava) ==>成功
- install.packages(RWeka) ==>成功
有同样的问题:
我正在运行,您可以通过关闭并重新打开来检查哪个版本。它应该在顶部。64-bit R
RStudio
我安装了 java,即 Java 文件夹在 .32-bit
C:\Program Files (x86)
我只是继续 Java.com 并下载了它的位置,并在输入的末尾添加了它的位置,我现在可以加载了。(安装要求我摆脱我所做的旧版本)64-bit Java
PATH
System variables
rJava
尝试下载 RStudio 每日版本:http://dailies.rstudio.com
在我尝试了其他所有方法(更新了 R、Rstudio、Java、重新安装 rJava 一百万次并遵循所有 stackoverflow 建议)之后,它在第二次尝试时对我有用。
提示来自 RStudio 支持论坛:
RStudio 确实无法读取 R 通常在此处提供的一些启动信息......
我们在最新的每日版本中有一个潜在的修复程序 RStudio -- 如果您愿意,可以尝试从 http://dailies.rstudio.com 下载和测试
这可能是指针设置的问题。如果您没有 JDK 但有 JRE,您可能需要这样做:JAVA_HOME
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre1.8.0_161')
请记住根据计算机上的内容更改“jre”后面的数字。这里有一个链接,解释了 JDK 和 JRE 之间的区别。
我尝试了上述替代方案,但它对我不起作用。 我在这里找到了解决方案。只需设置JAVA_HOME即可使 rJava 库加载正常。
Sys.getenv("JAVA_HOME")
Sys.setenv(JAVA_HOME="")
library(rJava)
下一个:沿轴的火炬和张量
评论