101 votes

Problèmes lors du chargement d'un paquet dans R à cause de rJava

Quand je tape require(xlsx) afin de charger le paquet xlsx dans R, le message suivant s'affiche :

> require(xlsx)
Loading required package: xlsx
Loading required package: xlsxjars
Loading required package: rJava
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: fun(libname, pkgname)
  error: JAVA_HOME cannot be determined from the Registry
Failed with error:  ‘package ‘rJava’ could not be loaded’

J'ai également essayé de charger le rJava manuellement mais j'ai obtenu ce message d'erreur :

require(rJava)
Loading required package: rJava
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: fun(libname, pkgname)
  error: No CurrentVersion entry in Software/JavaSoft registry! Try re-installing Java and make sure R and Java have matching architectures.

Avez-vous une suggestion sur la façon de résoudre ce problème ?

138voto

Gianluca Points 2261

La raison est probablement liée au fait que vous utilisez une 64 bits OS et la version R mais n'ont pas Java installé avec la même architecture. Ce que vous devez faire est de télécharger Java 64-bit à partir de cette page : https://www.java.com/en/download/manual.jsp

Après cela, essayez de recharger le xlsx paquet. Vous ne devriez pas avoir besoin de redémarrer R ou, si cela ne fonctionne pas, de le redémarrer une fois.

10voto

Edwin Vivek N Points 292

C'est parce que l'une des versions de Java (32 bits/64 bits) manque sur votre ordinateur. Essayez d'installer les deux Jdks et exécutez le code.
Après avoir installé les Jdks, ouvrez R et tapez le code

system("java -version")

Cela vous donnera la version de Jdk installée. Essayez ensuite de charger le paquet rJava. Cela a fonctionné pour moi.

9voto

Lauren Fitch Points 132

J'ai eu un problème similaire. Ce qui a fonctionné pour moi, c'est de définir JAVA_HOME. Je l'ai d'abord fatigué dans R :

Sys.setenv(JAVA_HOME = "C:/Program Files/Java/jdk1.8.0_101/")

Et quand ça a marché, je l'ai mis dans

Propriétés système -> Avancé -> Variables d'environnement

en ajoutant une nouvelle variable Système. J'ai ensuite redémarré R/RStudio et tout a fonctionné.

7voto

J'ai eu un problème similaire. Le problème est dû au paquet dépendant 'rJava'. Ce problème peut être résolu en redirigeant le R pour qu'il utilise un autre paquet de type JAVA_HOME .

if(Sys.getenv("JAVA_HOME")!=""){
    Sys.setenv(JAVA_HOME="")
}
library(rJava)

Cela a marché pour moi.

4voto

Si vous avez cette erreur dans RStudio, utilisez Le code environnemental de Lauren ci-dessus et changez votre version de R pour la version 32 bits dans Outils, Options globales. Il devrait y avoir des options R 32 bits et 64 bits si vous avez une version plus récente. Cela nécessitera un redémarrage de R, et limitera vos options de mémoire. L'installation de la version 64 bits de la jre ne sera pas nécessaire cependant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X