Unable to load rJava on R

2020-01-24 12:30发布

I wish to load rJava in R x64 3.1.2. OS- Windows 8.1 64 bit

Though installation seems to work fine:

  > 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

I get an error while loading the package:

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’

I know that I am working on R-64 bit and at same time the environment variable Path is set to:

C:\Program Files\Java\jdk1.7.0_51\bin;C:\Program Files\Java\jre7\bin\server;

also, so the Java version is 64 bit too. I don't understand the reason behind the error.

On manually setting through R:

options(java.home="C:\\Program Files\\Java\\jdk1.7.0_51\\bin")
library(rJava)

I get this error:

enter image description here

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’

Any advice? The error seems to have cropped up after I uninstalled some old version of Java.

OTHERS: Also just to add, I do not set JAVA_HOME as a environment variable.

Uninstalling and Reinstalling R also doesn't seem to fix the problem.

Removing older java versions is too of no help.

标签: r rjava
8条回答
不美不萌又怎样
2楼-- · 2020-01-24 12:54

Had the same issue:

I was running 64-bit R you can check which version by closing and re-openning RStudio. It should be at the top.

I had 32-bit java installed i.e. Java folder was within C:\Program Files (x86).

I simply went on to Java.com and downloaded the 64-bit Java and added it's location at the end of the PATH in System variables and I can load rJava now. (The installation asked me to get rid of the old version which I did)

查看更多
疯言疯语
3楼-- · 2020-01-24 12:55

I get this error every time Java sneaks an update onto my PC. When I go:

Sys.getenv("Path")

I find something in the output which looks like

C:\\Program Files \\Java\\jre1.8.0_112\\bin\\server\\

where the last few digits of the jre subfolder are outdated.

To fix this everywhere, you might want to edit the Windows environment variable. Do this by going WINDOWS + X key, selecting Command Prompt (Admin) from the menu, and typing

rundll32.exe sysdm.cpl,EditEnvironmentVariables

in the command box. This will call up this dialog box with edit rights for the PATH variable (and other system variables):

enter image description here

The Windows interface for editing long environment variables is a bit unwieldy, so after I click Edit... I like to copy-paste the resulting mess of paths to Notepad.exe, do the work there, and copy-paste back.

查看更多
登录 后发表回答