2016-06-09 9 views
14

Durante il caricamento rJava pacchetto, ricevo questo errore:R - Errore: .onLoad fallito nel loadNamespace() per '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/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’ 

ho fatto riferimento vari messaggi su StackOverflow e ho cercato di apportare modifiche di conseguenza, ma niente lavorato. Questi sono i vari passaggi che ho seguito per risolvere il problema:

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

Questo non ha funzionato.

Poi ho provato questo:

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

Ciò non ha funzionato neanche.

mio jvm.dll è in questa posizione nel mio Windows 7 a 64 bit del sistema operativo - C: \ Program Files (x86) \ Java \ jre1.8.0_91 \ bin \ client

Ho anche aggiunto C:\Program Files (x86)\Java\jre1.8.0_91\bin\client sul mio cammino variabile nelle mie variabili di ambiente e riavviato RStudio e ho provato ad installare e caricare nuovamente rJava. Anche questo non ha funzionato.

Apprezzerei molto se qualcuno potesse aiutarmi a risolvere questo problema.

Grazie ragazzi!

+0

Provare a eseguire dalla shell 'R CMD javareconf' e reinstallare' rJava'. Nessuna garanzia ovviamente. – nicola

+0

Si prega di non modificare la risposta nella domanda. Invece, tu la sezione di risposta nella parte inferiore della pagina. – josliber

+1

@josliber, ha apportato le modifiche suggerite. Grazie . – user3205469

risposta

19

questo ha lavorato per me -

Questo errore è spesso risolto con l'installazione di una versione di Java (cioè Java a 64 bit o 32 bit Java) che si adatta al tipo di versione R che si sta utilizzando (cioè 64-bit R o 32-bit R). Questo problema può facilmente influire sugli utenti di Windows 7, poiché potrebbero aver installato una versione di Java diversa dalla versione di R che stanno utilizzando.

Si noti che è necessario "scaricare e installare manualmente" la versione a 64 bit di JAVA. Per impostazione predefinita, la pagina di download fornisce una versione a 32 bit.

È possibile scegliere la versione esatta di Java che si desidera installare da questo collegamento. Se è possibile (per qualche motivo) lavorare su entrambe le versioni di R, è possibile installare entrambe le versioni di Java (l'installazione di "Java Runtime Environment" è probabilmente sufficiente per le proprie esigenze). (Fonte: Uwe Ligges)

Altre possibili soluzioni stanno cercando di reinstallare rJava.

Se questo non dovesse funzionare, si potrebbe anche impostare manualmente la directory della vostra posizione Java impostandolo prima di caricare la libreria:

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) 

consultare questo link - http://www.r-bloggers.com/how-to-load-the-rjava-package-after-the-error-java_home-cannot-be-determined-from-the-registry/

+1

ha funzionato perfettamente per me dopo la caccia. Ha perfettamente senso, vorrei che il messaggio di debug all'interno del pacchetto rJava fosse un po 'più puntato in questa direzione. – ddisqq

0

Credo che il vostro sistema operativo l'architettura e l'architettura R non corrispondono. Se essi sono corrispondenti, quanto segue potrebbe essere il problema

Ha funzionato per me dopo che ho aggiunto il percorso della libreria R alla lista delle variabili di ambiente sul mio Windows 7.

Quindi,

Aggiungi 'C:/Users/Rohan-PC/Documenti/R/win-library/3.1 'questo percorso per l'elenco delle variabili Path in Elenco delle variabili di sistema (da non confondere con la variabile PATH in Variabili utente). Riavvia R e prova a caricare la libreria. Funziona!!!!!

4

Ho riscontrato lo stesso problema. Assicurati di controllare il percorso del file per Java. Per risolvere l'errore avevo bisogno di scaricare la versione Java a 64 bit. Tuttavia il seguente codice nel R non ha funzionato come la cartella non era corretto per l'ultima versione per Java:

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

Invece ho cambiato il nome in:

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

Speranza che aiuta

0

I provato ciò che l'altro ha detto di non avvalersi. Per me la soluzione era eliminare le vecchie cartelle e scorciatoie della versione R 32 bit sul mio computer che rimanevano lì anche dopo la disinstallazione.