web-dev-qa-db-fra.com

R - Erreur: .onLoad a échoué dans loadNamespace () pour 'rJava'

Lors du chargement du paquet rJava, je reçois cette erreur:

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/ankitagarwal5/Documents/R/win-library/3.2/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  %1 is not a valid Win32 application.

In addition: Warning message:
  package ‘rJava’ was built under R version 3.2.3 
Error: package or namespace load failed for ‘rJava’

J'ai référé à différents articles sur StackOverflow et j'ai essayé d'apporter des modifications en conséquence, mais rien n'a fonctionné. Voici les différentes étapes que j'ai suivies pour résoudre le problème:

if (Sys.getenv("Java_HOME")!="")
  Sys.setenv(Java_HOME="")
library(rJava)

Cela n'a pas fonctionné.

Puis j'ai essayé ceci:

options(Java.home="C:\\Program Files\\Java\\jre1.8.0_91\\")
library(rJava)

Cela n'a pas fonctionné non plus.

Mon jvm.dll se trouve à cet emplacement dans mon système d'exploitation Windows 7 64 bits - C:\Fichiers de programme (x86)\Java\jre1.8.0_91\bin\client

J'ai également ajouté C:\Program Files (x86)\Java\jre1.8.0_91\bin\client à ma variable PATH dans mes variables d'environnement, puis relancé RStudio et essayé à nouveau d'installer et de charger rJava. Cela aussi n'a pas fonctionné.

J'apprécierais vraiment si quelqu'un pouvait m'aider s'il vous plaît à résoudre ce problème.

Merci les gars!

21
user3205469

Cela a fonctionné pour moi -

Cette erreur est souvent résolue en installant une version Java (Java 64 bits ou Java 32 bits) qui correspond au type de version R que vous utilisez (ie 64 bits ou 32 bits). Ce problème peut facilement affecter les utilisateurs de Windows 7, car ils ont peut-être installé une version de Java différente de la version de R qu'ils utilisent.

Notez qu’il est nécessaire de «télécharger et installer manuellement» la version 64 bits de Java. Par défaut, la page de téléchargement donne une version 32 bits.

Vous pouvez choisir la version exacte de Java que vous souhaitez installer à partir de ce lien. Si vous travaillez (pour quelque raison que ce soit) sur les deux versions de R, vous pouvez installer les deux versions de Java (l'installation de «l'environnement d'exécution Java» convient probablement à vos besoins) . (Source: Uwe Ligges)

Une autre solution consiste à réinstaller rJava.

Si cela ne fonctionne pas, vous pouvez également définir manuellement le répertoire de votre emplacement Java en le définissant avant de charger la bibliothèque:

Sys.setenv(Java_HOME='C:\\Program Files\\Java\\jre7') # for 64-bit version
Sys.setenv(Java_HOME='C:\\Program Files (x86)\\Java\\jre7') # for 32-bit version
library(rJava)

Référez-vous à ce lien - http://www.r-bloggers.com/how-to-load-the-rjava-package-after-the-error-Java_home-cannot-be-déterminé-de-the-registry/

23
user3205469

J'ai rencontré le même problème. Assurez-vous de vérifier le chemin du fichier pour Java. Pour résoudre l'erreur, je devais télécharger la version Java 64 bits. Cependant, le code suivant dans R ne fonctionnait pas car le dossier était incorrect pour la dernière version pour Java:

Sys.setenv(Java_HOME='C:\\Program Files\\Java\\jre7') # for 64-bit version

Au lieu de cela, j'ai changé le nom en: 

Sys.setenv(Java_HOME='C:\\Program Files\\Java\\jre1.8.0_144') 

J'espère que cela pourra aider

8
EliChambers

J'ai remarqué dans différentes installations récentes de R, RStudio et rJava dans Windows, que ce qui corrige l'erreur est:

  1. Désinstaller R
  2. Réinstallez R mais en sélectionnant une seule architecture. Exemple, x64 ou x86, mais pas les deux. Cela a tendance à confondre R ou RStudio lors de la compilation.

Dans mon cas, j'ai corrigé le message

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/ankitagarwal5/Documents/R/win-library/3.2/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  %1 is not a valid Win32 application.

Suivre les étapes 1 et 2 ci-dessus.

2
f0nzie

J'ai essayé ce que les autres ont dit pour ne pas en profiter. Pour moi, la solution consistait à éliminer les anciens dossiers et raccourcis de la version 32 bits de la version R de mon ordinateur, qui y restaient même après la désinstallation.

Je suppose que votre architecture de système d'exploitation et votre architecture R ne correspondent pas. S'ils correspondent, le problème pourrait être le suivant

Cela a fonctionné pour moi après avoir ajouté le chemin de la bibliothèque R à la liste des variables d’environnement de Windows 7.

Alors,

Ajoutez 'C: /Users/Rohan-PC/Documents/R/win-library/3.1' ce chemin vers la liste des variables Path sous la liste Variables système (à ne pas confondre avec la variable PATH sous Variables utilisateur). Redémarrez R et essayez de charger la bibliothèque. Ça marche!!!!!

0
Laxman Jaygonde