J'essaye d'installer rJava
sur un ordinateur avec Win 7 64 bits. Quand je cours
install.packages("rJava")
tout semble aller 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
mais quand j'ai essayé de charger la bibliothèque, library(rJava)
j'obtiens l'erreur suivante:
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'
J'ai installé le Java JRE (en essayant les versions 32 et 64 bits) et le JDK (en utilisant à la fois 32 et 64 bits). Ma version R est R version 2.13.1 (2011-07-08)
et j'utilise RStudio.
Si j'essaie d'utiliser 32 bits R, je peux rJava
bien charger . Le problème est-il simplement que rJava
ne fonctionne pas dans R 64 bits? Comment puis-je savoir si un paquet est juste pour 32 au lieu de 64?
edit: vient de publier 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()
à votre question? Je viens d'installer la version 64 bits enrJava
utilisant la méthode exacte que vous décrivez dans votre question. Je suppose que votre version de R est 32 bits.Program Files
ouProgram Files (x86)
. Ajoutez un chemin aux fenêtres comme le dit la réponse acceptée. SiProgram Files (x86)
cela signifie que vous disposez d'une version 32 bits, suivez le lien sites.google.com/site/rforfishandwildlifegrads/home/week_2/… .Réponses:
Mise à jour (juillet 2018):
La dernière version CRAN de rJava trouvera le
jvm.dll
automatiquement, sans définir manuellement lePATH
ouJAVA_HOME
. Notez cependant que:C:\Program files\Java\
et le secondC:\Program Files (x86)\Java\
pour ne pas entrer en conflit.À partir de la version 9 de Java, la prise en charge de x86 (win32) a été interrompue. Par conséquent, la dernière configuration multi-arch de travail consiste à installer à la fois jdk-8u172-windows-i586.exe et jdk-8u172-windows-x64.exe , puis le package binaire de CRAN:
Le paquet binaire de CRAN devrait récupérer le jvm par lui-même. Experts uniquement : pour construire rJava à partir des sources, vous avez besoin du
--merge-multiarch
drapeau:Ancienne réponse:
(Remarque: beaucoup de gens dans d'autres réponses / commentaires ont dit de supprimer JAVA_HOME, alors considérez cela. Je n'ai pas revu ce problème récemment pour savoir si toutes les étapes ci-dessous sont toujours nécessaires.)
Voici quelques conseils rapides sur la façon de démarrer avec R + rJava sur Windows 7 64 bits. Il existe plusieurs possibilités, mais la plupart présentent des défauts fatals. Voici ce qui a fonctionné pour moi:
Ajoutez jvm.dll à votre PATH
rJava, le pont Java R <->, aura besoin de jvm.dll, mais R aura du mal à trouver cette DLL. Il réside dans un dossier comme
ou
Où que vous soyez, ajoutez ce répertoire à votre variable PATH Windows. (Windows -> "Chemin" -> "Modifier les variables d'environnement pour votre compte" -> CHEMIN -> modifier la valeur.)
Vous avez peut-être déjà Java sur votre PATH. Si c'est le cas, vous devriez trouver le répertoire client / serveur dans le même répertoire "home" Java que celui déjà sur votre PATH.
Pour être sûr, assurez-vous que vos architectures correspondent.Si vous avez Java
Program Files
, il est 64 bits, vous devez donc exécuter R64. Si vous avez JavaProgram Files (x86)
, c'est 32 bits, vous utilisez donc un R. 32 bits ordinaire.Relancez R à partir du menu Windows
Si R est en cours d'exécution, quittez.
Depuis le menu Démarrer, démarrez R / RGUI, RStudio. Ceci est très important pour que R reprenne vos modifications PATH.
Installez rJava 0.9.2.
Les versions antérieures ne fonctionnent pas! Les miroirs ne sont pas à jour, alors allez à la source sur www.rforge.net: http://www.rforge.net/rJava/files/ . Notez les conseils là-bas
C'est presque correct. Cela fonctionne réellement:
install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/')
Regardez la ponctuation! Le mystérieux «.libPaths () [1]» dit simplement à R d'installer le paquet dans le répertoire principal de la bibliothèque. Pour une raison quelconque, laisser la valeur vide ne fonctionne pas, même si elle doit être définie par défaut.
la source
install.packages('rJava', repos='http://www.rforge.net/')
....\jre\bin\server
au chemin corrigé pour moiLe fonctionnement de rJava dépend fortement de la configuration de votre ordinateur:
Si vous utilisez la version 64 bits , assurez-vous que vous ne définissez pas JAVA_HOME comme variable d'environnement. Si cette variable est définie, rJava ne fonctionnera pas pour une raison quelconque (du moins pour moi). Vous pouvez vérifier facilement dans R si JAVA_HOME est défini avec
Si vous avez besoin d'avoir JAVA_HOME défini (par exemple, vous en avez besoin pour maven ou autre chose), vous pouvez le désactiver dans votre R-session avec le code suivant avant de charger rJava:
Cela devrait faire l'affaire dans la plupart des cas. De plus, cela résoudra le problème d'utilisation du package rJava sur Win7 64 bits avec R, également. J'ai emprunté l'idée de désactiver la variable d' environnement de l'échec de l'installation du package R: rJava .
la source
Pour moi, définir JAVA_HOME a fait l'affaire (au lieu de le désarmer, comme dans une autre réponse donnée ici). Soit sous Windows:
Ou à l'intérieur de R:
Mais quelle est probablement la meilleure solution (depuis rJava 0.9-4) est de remplacer complètement dans R le paramètre Windows JAVA_HOME:
la source
options(java.home="my\\path\\to\\jre")
a fonctionné, quand tout le reste a échoué, y compris la configuration de l'environnement PATHoptions(java.home="C:\\Program Files\\Java\\jdk1.8.0_144\\jre")
. Si vous avez jdk1.8.La dernière question a une réponse simple:
Cela signifie que j'utilise R64. Si j'exécutais 32 bits R, il renverrait 4. Ce n'est pas parce que vous exécutez un système d'exploitation 64 bits que vous exécuterez 64 bits R, et d'après le message d'erreur, il semble que vous ne l'êtes pas.
EDIT: Si le paquet contient des binaires, ils se trouvent dans des répertoires séparés. Les spécificités dépendront du système d'exploitation. Notez que votre erreur LoadLibrary s'est produite lors de la tentative de recherche de la dll dans
...rJava/libs/x64/...
Sur mon système MacOS, le dossier ... rJava / libs / ... `a 3 sous-répertoires: i386, ppc et x86_64. (Les fichiers ppc sont évidemment des bagages inutiles.)la source
rJava
package. C'est pourquoi je suis si confus au sujet du message d'erreur, car il semble être exactement le contraire de ce qui se passe.Désolé pour necro. J'ai trop rencontré le même problème et j'ai découvert que cela
rJava
devraitJAVA_HOME
pointer vers JRE. Si vous avez installé JDK, vous pointez probablementJAVA_HOME
vers JDK. Ma solution rapide:la source
J'ai eu du mal à déterminer le package Java installé lorsque j'ai rencontré ce problème, car les réponses précédentes ne fonctionnaient pas exactement pour moi. Pour faire le tri, j'ai tapé:
puis appuyez sur l'onglet et les deux répertoires suggérés étaient "jre1.8.0_31 /" et "jre7 /"
Jre7 n'a pas résolu mon problème, mais jre1.8.0_31 / l'a fait. La réponse finale était en cours d'exécution (avant la bibliothèque (rJava)):
J'utilise Windows 8.1 64 bits. J'espère que cela aidera quelqu'un d'autre.
Mettre à jour:
Vérifiez votre version pour déterminer ce que X devrait être (la mienne a changé plusieurs fois depuis ce post):
la source
J'ai eu un problème lié avec rJava. Il se chargerait mais un paquet qui en dépend ne se chargerait pas.
Les utilisateurs peuvent perdre beaucoup de temps avec jvm.dll et PATH et JAVA_HOME lorsque le vrai correctif est de forcer le programme d'installation à oublier i386. Utilisez l'option pour install.packages. (cela fonctionne également lorsque la bibliothèque drat est utilisée. (le crédit revient à Dason)
En outre, vous pouvez modifier uniquement votre chemin utilisateur avec une commande win comme celle-ci:
la source
J'ai besoin d'un JRE 32 bits disponible pour mon navigateur, mais d'un JRE 64 bits pour R et rJava. Le JRE 32 bits est installé à l'emplacement par défaut. Après quelques essais, je trouve que je n'avais besoin l' un des de misterbee suggestions pour obtenir Rjava (version 0,9 à 6 ) travaillant pour moi. Tout ce que j'ai fait a été d'ajouter le chemin d'accès à mon installation java 64 bits:
en haut de la variable d'environnement de mon chemin (votre chemin sera probablement différent) et supprimez mon JAVA_HOME comme suggéré par user2161065 . Je mets ça juste avant l'entrée
que le programme d'installation d'Oracle insère en haut du chemin et pointe vers des liens symboliques vers le JRE 32 bits. En ajoutant l'entrée à jvm.dll 64 bits, on dirait que rJava pourrait trouver ce dont il a besoin.
la source
Je pense que c'est une mise à jour. Je n'ai pas pu installer rJava (sur Windows) avant d'installer le JDK, car Javac n'est pas trouvé et javac ne fonctionne pas dans l'invite de commande Windows . Le message que je recevais était
Le JDK inclut le JRE, et selon https://cran.r-project.org/web/packages/rJava/index.html la version actuelle (0.9-7 publiée le 29 juillet 2015) de rJava
Alors voilà: si rJava ne s'installe pas parce qu'il ne trouve pas javac et que le JRE est installé, alors essayez le JDK. Assurez-vous également que cela
JAVA_HOME
pointe vers le JDK et non vers le JRE.la source
J'ai résolu le problème en désinstallant le logiciel Java apparemment redondant de ma machine Windows 7 x64. J'ai réalisé cela en désinstallant d'abord toutes les applications Java, puis en installant une nouvelle version Java . (Plus tard, j'ai pointé R 3.4.3 x86_64-w64-mingw32 vers le chemin Java , juste pour mentionner que je ne pense pas que ce soit le vrai problème.) Aujourd'hui, il ne restait plus que Java 8 Update 161 (64 bits) 8.0.1610.12 puis. Après cela,
install.packages("rJava"); library(rJava)
a parfaitement fonctionné.la source
Ceci est un suivi de Update (juillet 2018). Je suis sur Windows 10 64 bits mais je suis configuré pour créer des packages r à partir de la source pour 32 et 64 bits avec Rtools. Mon jdk 64 bits est jdk-11.0.2. Quand je peux, je fais tout dans RStudio. Depuis mars 2019, rjava est testé avec <= jdk11, voir le numéro 157 de github .
Pour info, la console de script rstudio n'aime pas les doubles virgules ... mais ça marche!
la source
Remarque: jdk1.8.0_201 et jre1.8.0_201 seront modifiés en fonction de la version du kit de développement Java et de Java
Pour vérifier l'installation, ouvrez CMD \ Tapez javac \ Appuyez sur Entrée et tapez java \ Appuyez sur Entrée Il affichera
Dans RStudio exécuter
Remarque: jdk1.8.0_201 sera modifié en fonction de la version du kit de développement Java
Vous pouvez maintenant installer et charger le package rJava sans aucun problème.
la source