Ответ 1
Использование:
Sys.setenv(JAVA_HOME='...path to JRE...')
например.
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jdk1.7.0_51\\jre')
Неправильная переменная среды.
Я хочу загрузить rJava в R x64 3.1.2. OS-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')
Неправильная переменная среды.
Я получил аналогичную ошибку:
> 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
.
Я получаю эту ошибку каждый раз, когда Java переполняет обновление на моем ПК. Когда я иду:
Sys.getenv("Path")
Я нахожу что-то в выходе, которое выглядит как
C:\\Program Files \\Java\\jre1.8.0_112\\bin\\server\\
где последние несколько цифр подпапки jre
устарели.
Чтобы исправить это повсюду, вы можете отредактировать переменную среды Windows. Сделайте это, перейдя в WINDOWS + X, выбрав Командная строка (Admin) в меню и введите
rundll32.exe sysdm.cpl,EditEnvironmentVariables
в поле команды. Это вызовет это диалоговое окно с правами прав для переменной PATH (и другими системными переменными):
Интерфейс Windows для редактирования длинных переменных окружения является немного громоздким, поэтому после того, как я нажму Изменить... Мне нравится копировать вставляемый результирующий беспорядок пути в Notepad.exe, выполнять работу там, и копировать-вставить назад.
Я столкнулся с подобной проблемой и провел целый день, чтобы устранить ее. Хотя мой компьютер, 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 все работает отлично!
Столкнулся с аналогичным сообщением об ошибке.
Попробовал несколько шагов, перечисленных здесь.
Была та же проблема:
Я запускал 64-bit R
, вы можете проверить, какая версия закрывается и повторно открывается RStudio
. Он должен быть наверху.
У меня был установлен 32-bit
java, т.е. папка Java находилась в пределах C:\Program Files (x86)
.
Я просто перешел на Java.com и загрузил 64-bit Java
и добавил его в конец PATH
в System variables
, и теперь я могу загрузить rJava
. (Установка попросила меня избавиться от старой версии, которую я сделал)