Estou tentando instalar rJava
em um computador com Win 7 de 64 bits. Quando eu corro
install.packages("rJava")
tudo parece estar bem:
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
mas quando tentei carregar a biblioteca library(rJava)
, recebo o seguinte erro:
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'
Instalei o Java JRE (tentando as versões de 32 e 64 bits) e o JDK (usando as versões de 32 e 64 bits). Minha versão R é R version 2.13.1 (2011-07-08)
e estou usando o RStudio.
Se eu tentar usar 32 bits R, posso carregar rJava
bem. O problema é que rJava
não é executado no R 64 bits? Como posso saber se um pacote é apenas para 32 em vez de 64?
edit: recém 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()
sua pergunta? Acabei de instalar a versão de 64 bits dorJava
método exato que você descreve em sua pergunta. Meu palpite é que sua versão do R é de 32 bits.Program Files
ouProgram Files (x86)
. Adicione um caminho para o Windows, conforme a resposta aceita. SeProgram Files (x86)
isso significa que você tem uma versão de 32 bits, siga o link sites.google.com/site/rforfishandwildlifegrads/home/week_2/… .Respostas:
Atualização (julho de 2018):
A versão mais recente do CRJ do rJava encontrará o
jvm.dll
automaticamente, sem definir manualmente oPATH
ouJAVA_HOME
. No entanto, observe que:C:\Program files\Java\
e o segundo,C:\Program Files (x86)\Java\
para que não entrem em conflito.A partir da versão 9 do Java, o suporte para x86 (win32) foi descontinuado. Portanto, a instalação mais recente em vários arcos é instalar o jdk-8u172-windows-i586.exe e o jdk-8u172-windows-x64.exe e, em seguida, o pacote binário do CRAN:
O pacote binário do CRAN deve capturar a jvm por si só. Somente especialistas : para criar o rJava a partir do código-fonte, você precisa da
--merge-multiarch
bandeira:Resposta antiga:
(Nota: muitas pessoas em outras respostas / comentários disseram remover o JAVA_HOME, considere isso. Não revisitei esse problema recentemente para saber se todas as etapas abaixo ainda são necessárias.)
Aqui estão alguns conselhos rápidos sobre como começar a usar o R + rJava no Windows 7 64bit. Existem várias possibilidades, mas a maioria tem falhas fatais. Aqui está o que funcionou para mim:
Adicione jvm.dll ao seu PATH
O rJava, a ponte R <-> Java, precisará do jvm.dll, mas o R terá problemas para encontrar essa DLL. Ele reside em uma pasta como
ou
Onde quer que você esteja, adicione esse diretório à sua variável PATH do Windows. (Windows -> "Caminho" -> "Editar variáveis de ambiente para sua conta" -> PATH -> edite o valor.)
Você já pode ter o Java no seu PATH. Nesse caso, você deve encontrar o diretório cliente / servidor no mesmo diretório "home" do Java que já está no seu PATH.
Para estar seguro, verifique se suas arquiteturas correspondem. Se você possui Java
Program Files
, é de 64 bits, portanto, você deve executar o R64. Se você possui JavaProgram Files (x86)
, é de 32 bits, então você usa R. simples de 32 bits.Reinicie o R no menu Windows
Se R estiver em execução, saia.
No menu Iniciar, inicie o R / RGUI, RStudio. Isso é muito importante, para fazer o R pegar suas alterações no PATH.
Instale o rJava 0.9.2.
Versões anteriores não funcionam! Os espelhos não estão atualizados, então acesse a fonte em www.rforge.net: http://www.rforge.net/rJava/files/ . Observe os conselhos lá
Isso está quase correto. Isso realmente funciona:
install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/')
Assista a pontuação! O misterioso “.libPaths () [1]” diz ao R para instalar o pacote no diretório principal da biblioteca. Por algum motivo, deixar o valor em branco não funciona, mesmo que seja o padrão.
fonte
install.packages('rJava', repos='http://www.rforge.net/')
....\jre\bin\server
a caminho fixo para mimO funcionamento do rJava depende muito da configuração do seu computador:
Se você usa a versão de 64 bits , certifique-se de não definir JAVA_HOME como uma variável de ambiente. Se essa variável for definida, o rJava não funcionará por qualquer motivo (pelo menos para mim). Você pode verificar facilmente dentro de R se JAVA_HOME estiver definido com
Se você precisar ter JAVA_HOME definido (por exemplo, para o maven ou algo mais), poderá desativá-lo na sua sessão R com o seguinte código antes de carregar o rJava:
Isso deve funcionar na maioria dos casos. Além disso, isso corrigirá o problema Usando o pacote rJava no Win7 de 64 bits com o R também. Peguei emprestada a idéia de desarmar a variável de ambiente da instalação do pacote R: rJava com falha .
fonte
Para mim, definir JAVA_HOME fez o truque (em vez de desmarcar, como em outra resposta dada aqui). No Windows:
Ou dentro de R:
Mas qual é provavelmente a melhor solução (desde que o rJava 0.9-4) está sobrescrevendo na configuração R do JAVA_HOME do Windows:
fonte
options(java.home="my\\path\\to\\jre")
trabalhou, quando tudo o resto falha, incluindo o ambiente ambiente PATHoptions(java.home="C:\\Program Files\\Java\\jdk1.8.0_144\\jre")
. Se você possui o jdk1.8.A última pergunta tem uma resposta fácil:
Ou seja, estou executando o R64. Se eu estivesse executando o R de 32 bits, ele retornaria 4. Só porque você está executando um sistema operacional de 64 bits não significa que estará executando o R de 64 bits e, a partir da mensagem de erro, parece que você não está.
EDIT: Se o pacote tiver binários, eles estarão em diretórios separados. Os detalhes dependerão do sistema operacional. Observe que o erro LoadLibrary ocorreu ao tentar encontrar a dll
...rJava/libs/x64/...
No sistema Mac OS, a pasta ... rJava / libs / ... `possui 3 subdiretórios: i386, ppc e x86_64. (Os arquivos ppc são obviamente bagagem inútil.)fonte
rJava
pacote. É por isso que estou tão confuso com a mensagem de erro, pois parece ser exatamente o oposto do que está acontecendo.Desculpe pelo necro. Também encontrei o mesmo problema e descobri que
rJava
esperaJAVA_HOME
apontar para o JRE. Se você possui o JDK instalado, provavelmente vocêJAVA_HOME
aponta para o JDK. Minha solução rápida:fonte
Ocorreu um problema ao determinar o pacote Java que foi instalado quando o problema ocorreu, pois as respostas anteriores não funcionaram exatamente para mim. Para resolver, digitei:
e depois pressione tab e os dois diretórios sugeridos foram "jre1.8.0_31 /" e "jre7 /"
O Jre7 não resolveu o meu problema, mas o jre1.8.0_31 / resolveu. A resposta final estava em execução (antes da biblioteca (rJava)):
Estou usando o Windows 8.1 de 64 bits. Espero que isso ajude outra pessoa.
Atualizar:
Verifique sua versão para determinar o que X deve ser (o meu mudou várias vezes desde este post):
fonte
Eu tive um problema relacionado com o rJava. Carregaria, mas um pacote que depende disso, não carregaria.
Os usuários podem perder muito tempo com jvm.dll e PATH e JAVA_HOME quando a solução real é forçar o instalador a esquecer o i386. Use a opção para install.packages. (isso também funciona quando a biblioteca drat é usada. (o crédito vai para Dason)
Além disso, você pode modificar apenas o caminho do usuário com um comando win como este:
fonte
Preciso ter um JRE de 32 bits disponível para o meu navegador, mas o JRE de 64 bits para R e rJava. O JRE de 32 bits está instalado no local padrão. Após algumas experiências, descobri que só precisava de uma das sugestões de misterbee para que o rJava (versão 0.9-6 ) funcionasse para mim. Tudo o que fiz foi adicionar o caminho à minha instalação java de 64 bits:
para a parte superior da variável de ambiente do meu caminho (seu caminho provavelmente será diferente) e remova meu JAVA_HOME como sugerido pelo usuário2161065 . Coloquei isso logo à frente da entrada
que o instalador do Oracle insere na parte superior do caminho e aponta para alguns links simbólicos para o JRE de 32 bits. Ao adicionar a entrada no jvm.dll de 64 bits, parece que o rJava pode encontrar o que precisa.
fonte
Eu acho que isso é uma atualização. Não consegui instalar o rJava (no Windows) até instalar o JDK, pois o Javac não foi encontrado e o javac não está funcionando no prompt de comando do Windows . A mensagem que eu estava recebendo era
O JDK inclui o JRE e, de acordo com https://cran.r-project.org/web/packages/rJava/index.html, a versão atual (0.9-7 publicada em 29/07/2015) do rJava
Então você está aqui: se o rJava não for instalado porque não consegue encontrar o javac e você tiver o JRE instalado, tente o JDK. Além disso, verifique se
JAVA_HOME
aponta para o JDK e não o JRE.fonte
Resolvi o problema desinstalando o software Java aparentemente redundante da minha máquina Windows 7 x64. Eu consegui isso, primeiro desinstalar todos os aplicativos Java e , em seguida, instalar uma nova versão Java . (Mais tarde, apontei R 3.4.3 x86_64-w64-mingw32 para o caminho do Java , apenas para mencionar que não acho que esse fosse o problema real.) Hoje, apenas o Java 8 Update 161 (64 bits) 8.0.1610.12 foi deixado. então. Depois disso,
install.packages("rJava"); library(rJava)
funcionou perfeitamente.fonte
Este é um acompanhamento da Atualização (julho de 2018). Estou no Windows 10 de 64 bits, mas estou configurado para criar pacotes r a partir da fonte para 32 e 64 bits com o Rtools. Meu jdk de 64 bits é o jdk-11.0.2. Quando posso, faço tudo no RStudio. A partir de março de 2019, o rjava é testado com <= jdk11, consulte o github edição # 157 .
Para sua informação, o console de script do rstudio não gosta de vírgulas duplas ... mas funciona!
fonte
Nota: jdk1.8.0_201 e jre1.8.0_201 serão alterados dependendo da versão do kit de desenvolvimento Java e do Java
Para verificar a instalação, abra CMD \ Digite javac \ Pressione Enter e digite java \ pressione enter.
No RStudio, execute
Nota: jdk1.8.0_201 será alterado dependendo da versão do Java Development Kit
Agora você pode instalar e carregar o pacote rJava sem nenhum problema.
fonte