Estoy tratando de instalar rJava
en una computadora con Win 7 de 64 bits. Cuando corro
install.packages("rJava")
Todo parece estar bien:
Installing package(s) into ‘C:/Users/djq/Documents/R/win-library/2.13’
(as ‘lib’ is unspecified)
trying URL 'http://software.rc.fas.harvard.edu/mirrors/R/bin/windows/contrib/2.13/rJava_0.9-1.zip'
Content type 'application/zip' length 654936 bytes (639 Kb)
opened URL
downloaded 639 Kb
package 'rJava' successfully unpacked and MD5 sums checked
The downloaded packages are in
C:\TEMP\RtmpW2eAUw\downloaded_packages
pero cuando intenté cargar la biblioteca library(rJava)
recibí el siguiente error:
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/me/Documents/R/win-library/2.13/rJava/libs/x64/rJava.dll':
LoadLibrary failure: %1 is not a valid Win32 application.
Error: package/namespace load failed for 'rJava'
He instalado Java JRE (probando las versiones de 32 y 64 bits) y el JDK (usando ambos de 32 y 64 bits). Mi versión R es R version 2.13.1 (2011-07-08)
y estoy usando RStudio.
Si intento usar R de 32 bits, puedo cargar rJava
bien. ¿Es el problema solo que rJava
no se ejecuta en R 64 bit? ¿Cómo puedo saber si un paquete es solo para 32 en lugar de 64?
editar: recién publicado R.version()
:
> R.Version()
$platform
[1] "x86_64-pc-mingw32"
$arch
[1] "x86_64"
$os
[1] "mingw32"
$system
[1] "x86_64, mingw32"
$status
[1] ""
$major
[1] "2"
$minor
[1] "13.1"
$year
[1] "2011"
$month
[1] "07"
$day
[1] "08"
$`svn rev`
[1] "56322"
$language
[1] "R"
$version.string
[1] "R version 2.13.1 (2011-07-08)"
R.Version()
su pregunta? Acabo de instalar la versión de 64 bits derJava
usar el método exacto que describe en su pregunta. Supongo que su versión de R es de 32 bits.Program Files
oProgram Files (x86)
. Agregue la ruta a Windows como dice la respuesta aceptada. SiProgram Files (x86)
significa que tiene una versión de 32 bits, siga el enlace sites.google.com/site/rforfishandwildlifegrads/home/week_2/… .Respuestas:
Actualización (julio de 2018):
La última versión CRAN de rJava encontrará
jvm.dll
automáticamente, sin configurar manualmente elPATH
oJAVA_HOME
. Sin embargo, tenga en cuenta que:C:\Program files\Java\
y el segundo se instalaC:\Program Files (x86)\Java\
para que no entren en conflicto.A partir de Java versión 9, el soporte para x86 (win32) ha sido descontinuado. Por lo tanto, la última configuración de trabajo de varios arcos es instalar jdk-8u172-windows-i586.exe y jdk-8u172-windows-x64.exe y luego el paquete binario de CRAN:
El paquete binario de CRAN debería recuperarse en el jvm por sí mismo. Solo expertos : para construir rJava desde la fuente, necesita la
--merge-multiarch
bandera:Respuesta anterior:
(Nota: muchas personas en otras respuestas / comentarios han dicho que eliminen JAVA_HOME, así que considere eso. No he revisado este problema recientemente para saber si todos los pasos a continuación siguen siendo necesarios).
Aquí hay algunos consejos rápidos sobre cómo comenzar a usar R + rJava en Windows 7 de 64 bits. Hay varias posibilidades, pero la mayoría tiene fallas fatales. Esto es lo que funcionó para mí:
Agregue jvm.dll a su RUTA
rJava, el puente R <-> Java, necesitará jvm.dll, pero R tendrá problemas para encontrar esa DLL. Reside en una carpeta como
o
Donde sea que esté el suyo, agregue ese directorio a su variable PATH de Windows. (Windows -> "Ruta" -> "Editar variables de entorno para su cuenta" -> RUTA -> edite el valor).
Es posible que ya tenga Java en su RUTA. Si es así, debe encontrar el directorio cliente / servidor en el mismo directorio de "inicio" de Java que el que ya está en su RUTA.
Para estar seguro, asegúrese de que sus arquitecturas coincidan. Si tiene Java
Program Files
, es de 64 bits, por lo que debe ejecutar R64. Si tiene JavaProgram Files (x86)
, eso es de 32 bits, por lo que usa R. de 32 bits.Vuelva a iniciar R desde el menú de Windows
Si R se está ejecutando, salga.
Desde el menú Inicio, Iniciar R / RGUI, RStudio. Esto es muy importante, para que R recoja sus cambios de RUTA.
Instale rJava 0.9.2.
¡Las versiones anteriores no funcionan! Los espejos no están actualizados, así que vaya a la fuente en www.rforge.net: http://www.rforge.net/rJava/files/ . Tenga en cuenta el consejo allí
Eso es casi correcto. Esto realmente funciona:
install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/')
Mira la puntuación! El misterioso ".libPaths () [1]", simplemente le dice a R que instale el paquete en el directorio de la biblioteca primaria. Por alguna razón, dejar el valor en blanco no funciona, aunque debería ser predeterminado.
fuente
install.packages('rJava', repos='http://www.rforge.net/')
....\jre\bin\server
a la ruta lo arregló para míHacer que rJava funcione depende en gran medida de la configuración de su computadora:
Si utiliza la versión de 64 bits , asegúrese de no establecer JAVA_HOME como una variable de entorno. Si se establece esta variable, rJava no funcionará por el motivo que sea (al menos para mí). Puede verificar fácilmente dentro de R si JAVA_HOME está configurado con
Si necesita tener configurado JAVA_HOME (por ejemplo, si lo necesita para Maven u otra cosa), puede desactivarlo dentro de su sesión R con el siguiente código antes de cargar rJava:
Esto debería hacer el truco en la mayoría de los casos. Además, esto solucionará el problema al usar el paquete rJava en Win7 de 64 bits con R también. Tomé prestada la idea de desarmar la variable de entorno del error de instalación del paquete R: rJava .
fuente
Para mí, configurar JAVA_HOME hizo el truco (en lugar de desarmar, como en otra respuesta dada aquí). Ya sea en Windows:
O dentro de R:
Pero, ¿cuál es probablemente la mejor solución (ya que rJava 0.9-4) está anulando por completo la configuración JAVA_HOME de Windows:
fuente
options(java.home="my\\path\\to\\jre")
funcionó, cuando todo lo demás falló, incluida la configuración del entorno RUTAoptions(java.home="C:\\Program Files\\Java\\jdk1.8.0_144\\jre")
. Si tienes jdk1.8.La última pregunta tiene una respuesta fácil:
Lo que significa que estoy ejecutando R64. Si estuviera ejecutando R de 32 bits, devolvería 4. El hecho de que esté ejecutando un sistema operativo de 64 bits no significa que ejecutará R de 64 bits, y según el mensaje de error parece que no lo está.
EDITAR: Si el paquete tiene binarios, entonces están en directorios separados. Los detalles dependerán del sistema operativo. Observe que su error de LoadLibrary ocurrió cuando intentó encontrar el dll en
...rJava/libs/x64/...
mi sistema MacOS, la carpeta ... rJava / libs / ... `tiene 3 subdirectorios: i386, ppc y x86_64. (Los archivos ppc son obviamente equipaje inútil).fuente
rJava
paquete. Es por eso que estoy tan confundido sobre el mensaje de error, ya que parece ser exactamente lo contrario de lo que está sucediendo.Perdón por necro. También me he encontrado con el mismo problema y descubrí que
rJava
esperaJAVA_HOME
apuntar a JRE. Si tiene instalado JDK, lo más probable es queJAVA_HOME
apunte a JDK. Mi solución rápida:fuente
Tuve algunos problemas para determinar el paquete Java que se instaló cuando me encontré con este problema, ya que las respuestas anteriores no me funcionaron exactamente. Para solucionarlo, escribí:
y luego presione la pestaña y los dos directorios sugeridos fueron "jre1.8.0_31 /" y "jre7 /"
Jre7 no resolvió mi problema, pero jre1.8.0_31 / lo hizo. La respuesta final se estaba ejecutando (antes de la biblioteca (rJava)):
Estoy usando Windows 8.1 de 64 bits. Espero que esto ayude a alguien más.
Actualizar:
Verifique su versión para determinar cuál debería ser X (la mía ha cambiado varias veces desde esta publicación):
fuente
Tuve un problema relacionado con rJava. Se cargaría, pero un paquete que depende de él no se cargaría.
Los usuarios pueden perder mucho tiempo con jvm.dll y PATH y JAVA_HOME cuando la solución real es forzar al instalador a olvidarse de i386. Use la opción para install.packages. (esto también funciona cuando se usa la biblioteca drat. (el crédito va a Dason)
Además, puede modificar solo su ruta de usuario con un comando win como este:
fuente
Necesito tener un JRE de 32 bits disponible para mi navegador, pero JRE de 64 bits para R y rJava. El JRE de 32 bits se instala en la ubicación predeterminada. Después de experimentar un poco, descubrí que solo necesitaba una de las sugerencias de misterbee para que rJava (versión 0.9-6 ) funcionara para mí. Todo lo que hice fue agregar la ruta a mi instalación de Java de 64 bits:
a la parte superior de mi variable de entorno de ruta (su ruta probablemente será diferente) y elimine mi JAVA_HOME como sugirió user2161065 . Puse esto justo antes de la entrada
que el instalador de Oracle inserta en la parte superior de la ruta y señala algunos enlaces simbólicos al JRE de 32 bits. Al agregar la entrada a jvm.dll de 64 bits, parece que rJava podría encontrar lo que necesita.
fuente
Creo que esta es una actualización. No pude instalar rJava (en Windows) hasta que instalé el JDK, ya que Javac no se encuentra y javac no funciona en el símbolo del sistema de Windows . El mensaje que estaba recibiendo era
El JDK incluye el JRE y, de acuerdo con https://cran.r-project.org/web/packages/rJava/index.html, la versión actual (0.9-7 publicada el 29 de julio de 2015) de rJava
Así que ahí estás: si rJava no se instalará porque no puede encontrar javac y tienes el JRE instalado, entonces prueba el JDK. Además, asegúrese de que
JAVA_HOME
apunta al JDK y no al JRE.fuente
Resolví el problema desinstalando software Java aparentemente redundante de mi máquina Windows 7 x64. Lo logré desinstalando primero todas las aplicaciones Java y luego instalando una versión Java nueva . (Más tarde señalé R 3.4.3 x86_64-w64-mingw32 a la ruta de Java , solo por mencionar que no creo que este fuera el verdadero problema). Hoy solo queda Java 8 Update 161 (64 bits) 8.0.1610.12 luego. Después de esto,
install.packages("rJava"); library(rJava)
funcionó perfectamente.fuente
Este es un seguimiento de la Actualización (julio de 2018). Estoy en Windows 10 de 64 bits, pero estoy configurado para construir paquetes r desde la fuente para 32 y 64 bits con Rtools. Mi jdk de 64 bits es jdk-11.0.2. Cuando puedo, hago todo en RStudio. A partir de marzo de 2019, rjava se ha probado con <= jdk11, consulte el número 157 de github .
FYI, a la consola de scripts de rstudio no le gustan las comas dobles ... ¡pero funciona!
fuente
Nota: jdk1.8.0_201 y jre1.8.0_201 se cambiarán según la versión del kit de desarrollo de Java y Java
Para verificar la instalación, abra CMD \ Type javac \ Presione Enter y escriba java \ presione enter Se mostrará
En RStudio ejecutar
Nota: jdk1.8.0_201 se cambiará según la versión del kit de desarrollo de Java
Ahora puede instalar y cargar el paquete rJava sin ningún problema.
fuente