R: rJava paketi yükleme başarısız


116

Komutu kullanarak rJava'yı kurarken install.packages("rJava")aşağıdaki hatayı alıyorum:

checking Java support in R... present:
interpreter : '/usr/bin/java'
archiver    : '/usr/bin/jar'
compiler    : '/usr/bin/javac'
header prep.: '/usr/bin/javah'
cpp flags   : '-I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include -I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include/linux'
java libs   : '-L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64 -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64 -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm'
checking whether JNI programs can be compiled... yes
checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix this.
ERROR: configuration failed for package ‘rJava’

Java JDK yükledim ve java -versionaşağıdakileri döndürüyorum:

$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)

Hata için etrafta gezinirken, başkalarının da aynı sorunu yaşadığını, ancak yaptığım "JRE'yi değil, tüm JDK'yı yükleme" dışında bir çözüm bulamadıklarını görüyorum.

Okuduğum diğer şey, sudo R CMD javareconfhatasız oldukça mutlu çalışan çalıştırmaktı .

Sorunumun ne olduğu hakkında bir fikrin var mı?

[[DÜZENLE]] Bu sorunu yaşayalı birkaç ay oldu. Bunu başlangıçta, aşağıda gönderdiğim cevapta gösterildiği gibi Java yollarımı düzenleyerek çözdüm. Geçenlerde yeni bir Ubuntu kurulumunda aynı sorunla karşılaştım. Dirk'in rJava paketini kurmak için apt-get'i kullanma önerisini denedim. Mükemmel çalıştı. Başlangıçta takdir edemediğim şey, Ubuntu apt-get yöntemini kullanarak paket kurmanın temelde aynı paketi R'nin içindeki install.packages () kullanarak yüklemekten farklı olduğuydu. Ubuntu paketleri, fark etmediğim veya takdir etmediğim bazı sorunları çözüyor. .


yanıtı burada da bulabilirsiniz - stackoverflow.com/questions/12872699/…
Tejus Prasad

1
Apt-get kurulumunun rstudio-sunucum olarak tanınması için sudo R CMD javareconf'u çalıştırmam gerektiğine dair burada gelecekteki benliğime (şüphesiz kendimi bu soruya geri döndüğümde) bir yorum yapıyorum.
Jim Crozier

3
Dokuz yıl sonra ve bu hiç bitmeyen bir sorun. Her yeni R. yüklemesi yaptığımda bununla karşılaşıyorum. Bir şeyler değişiyor .. OS, Rstudio sürümü, R sürümü, java sürümü, jdk, jre, jvm .... Ve her zaman çözmek için yeni bir çözümdür. Tüm bu saçmalıklar olmadan bir excel dosyasını okuyamamam çok saçma.
rmf

@rmf artık Java gerektirmeyen birkaç excel okuma paketi var. Basit okumaları severim readxlama Excel'e geri yazmayı tercih ederim openxlsx. RJava gerektirmez.
JD Long

Yanıtlar:


114

değil mi

apt-get install r-cran-rjava

daha kolay oldu mu? UseR'de bana sorabilirdin! :)


3
Ubuntu ve Debian'ın amacı, ilk etapta google'a ihtiyaç duymamanız gerektiğidir - uygun paketleri kullanarak "sadece çalışmalıdır". Hayatınızı kolaylaştırın ve elinizden geldiğince paketleri kullanın. Ubuntu'nun Java paketlerini de kullandığınızı varsayıyorum.
Dirk Eddelbuettel

16
Dirk, bu soruları ne yaptığım hakkında en ufak bir fikrim varmış gibi sor. Hatırlarsam, apt-get kullanarak Java'yı yüklerken sorun yaşadım, bu yüzden kaynaktan oluşturdum ve muhtemelen sorunlarımın kaynağı (tüm kelime oyunları) budur. Elbette kötü karma olabilir.
JD Long

2
R 2.15.3 ubuntu 12.04.2 64bit'teyim. aldığımda update.packages()bir rJava update. R içinden kurulum başarısız oluyor. Ben apt-get install r-cran-rjavagüncelleme olmadığında. Bu neden oluyor?
ECII

1
@DirkEddelbuettel, Red Hat'ımda 'sudo yum install r-cran-rjava' çalışmıyor. Yüklü eklentiler diyor: rhnplugin Bu sistem, RHN Classic veya RHN Satellite'tan güncellemeler alıyor. Kurulum İşlemini Kurma Mevcut r-cran-rjava paketi yok.
BigDataScientist

1
@DirkEddelbuettel, 'sadece çalışmalı' yaklaşımı bana harika gelse de, r-cran-x'te sadece bu kadar çok paketin listelendiği gerçeği, insanların 'normal' R yolunu (install.packages) kullanmasının nedenidir. Dahası, bunu vinç aracılığıyla yapma konusundaki tavsiyenizi az önce aldım, ki bu gerçekten yardımcı olmuyor çünkü R 3.x şu anda genel kullanım halindeyken, r-cran-'daki paketler görünüşe göre R 3.x
Richard

77

Sorunumun JAVA_HOMEortam değişkenimle ilgili bir sorun olduğu ortaya çıktı . Evet, şok edici, biliyorum. Benim ilk ayarı PATHve JAVA_HOMEbu gibi görünüyordu:

export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$PATH:$JAVA_HOME/bin

Ve ekledim /jre, şimdi şöyle görünüyor:

export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
export PATH=$PATH:$JAVA_HOME/bin

Java'daki her şey, /jrerJava olmadan iyi çalışıyor gibiydi, ancak rJava çalışmazdı. Garip.


5
Bir soru oluşturarak "yığın taşması" nın gerçek anlamını korumak -> sonsuz döngü yanıtlamak --- Bunu beğendim.
DrewConway

10
Teşekkürler. Gelecekteki Google kullanıcılarının R sorularına yanıt bulabilmeleri için üzerime düşeni yapıyorum!
JD Long

11
JAVA_HOME'u ve çalıştırılabilir java dosyasının yolunu değiştirdikten sonra, çalıştırmam gerektiğini anladım R CMD javareconf. Aksi takdirde, rJava yükleme işlemi hala başlıkların ve kitaplıkların vb. Eski konumlarını görür.
Carlos Macasaet

1
Benim için hiçbir şey işe yaramadı. Bazı R Shiny uygulamalarına hizmet verdiğim Red Hat Linux sunucusuna "rJava" kurmaya çalışıyorum. Aşağıdaki HATA alıyorum: '/ usr / lib64 / R / library / rJava' kaldırılarak 'rJava' * paketi için yapılandırma başarısız oldu. Hatayı ortadan kaldırma sürecinde aşağıdaki adımları gerçekleştirdim. 1. Linux'ta güncellenmiş Java sudo yum install java-1.7.0-openjdk 2. HOME ve PATH dışa aktarımını ayarlayın JAVA_HOME = / usr / lib / jvm / java-1.7.0-ibm-1.7.0.6.1.x86_64 / jre dışa aktar PATH = $ PATH: $ JAVA_HOME / bin 3. Yeniden yapılandırılmış Java sudo / usr / bin / R CMD javareconf
BigDataScientist

Evet, işe yarıyor, 8-oracleonun yerine sürümü kullandım.
gunzapper

21

Teşekkürler - hakkındaki öneriniz $JAVA_HOMEbeni benzer bir çözüme yönlendiriyor:

prompt$ unset JAVA_HOME

R.


1
ayarlanmayan JAVA_HOME (dolar işareti yok)
Vladtn

1
Evet, bu sorunumu çözdü. Lütfen nedenini açıklar mısınız? Teşekkürler
MichaelZ

JAVA_HOME'un ayarını kaldırın ve CLASSPATH = $ CLASSPATH olarak ayarlayın: / usr / lib64 / R / share / java
42n4


14

Ben böyle çalıştırıyorum:

Linux'ta (Ubuntu 16.04)

sudo apt-get install default-jre
sudo apt-get install default-jdk
sudo R CMD javareconf

R cinsinden:

install.packages("rJava")

1
teşekkürler ... Java çalışmadığı için R'ye düşen rcdk adlı bir şey yüklemem gerekiyordu. Çevrenizdeki çalışmanız sorunu çözdü (Ubuntu 18.04)
user1945827

Yardım etmekten gerçekten memnunum!
Jim Chen

11

Bu benim için Ubuntu 12.04 ve R sürüm 3.0'da çalıştı

cd /usr/lib/jvm/java-6-sun-1.6.0.26/include

jni.h içeren dizindir

Ardından, başka bir gerekli başlık dosyasına yumuşak bir bağlantı oluşturun (Aşağıdaki JAVA_CPPFLAGS seçeneğinde birden fazla dizini nasıl dahil edeceğimi öğrenmek için çok tembelim):

sudo ln -s linux/jni_md.h .

En sonunda

sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/include

1
sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/includebenim için sorunu çözdü.
Moustafa Alzantot

… Ve tam dizininiz olmaması echo $JAVA_HOMEdurumunda ekleyeceğim java-6-sun.
izomorfizmler

7

aşağıda başka bir gönderideki yanıtlarımdan biri - hata: şu anda kurulu paketler yüklenemiyor
(bu aynı zamanda bu soruyla da ilgilidir)

Linux (Ubuntu) kullanıcıları için: Oracle-java (7/8) yüklüyse. Bu konumda olacak /usr/lib/jvmve sudoerişim gerekiyor.

Dosyayı /etc/ld.so.conf.d/java.confaşağıdaki girişlerle oluşturun:

/usr/lib/jvm/java-8-oracle/jre/lib/amd64
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server

(Java sürümünüze bağlı olarak java-8-oracle'ı java-7-oracle ile değiştirin)

Sonra:

sudo ldconfig

RStudio'yu yeniden başlatın ve ardından rJava paketini kurun.


1
Farklı derecelerde başarıya sahip birden fazla çözümü denedim, ancak dirençli görünen ilk çözüm buldum (yani, R'yi her başlattığımda aynı 5 adımın tekrarlanmasını gerektirmiyor).
SamWN

4

Bir AMD64 üzerinde Gentoo altında R çalıştırılıyor. R 2.12.0'a yükselttim

R sürüm 2.12.0 (2010-10-15) Telif Hakkı (C) 2010 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: x86_64-pc-linux-gnu (64-bit) ve bu sinir bozucu mesajlar gitti uzakta.

Jan Vandermeer


2

Openjdk-7- * yüklemeyi denedim ancak yine de rJava'yı yüklerken sorunlar yaşadım. Bilgisayarımı yeniden başlattıktan sonra hiç sorun olmadı.

yani

sudo apt-get install openjdk-7-*


RESTART after installing java, then try to install package "rJava" in R

2

RJava paketi, /usr/lib/jvm/default-java/ klasörü . Ancak varsayılan olarak mevcut değildir. Bu klasör, sistem için yapılandırılmış varsayılan java için bir sembolik bağa sahiptir.

Varsayılan java'yı etkinleştirmek için aşağıdaki paketleri yükleyin:

sudo apt-get install default-jre default-jre-headless

CRAN R 3.4.1 ile ubuntu 17.04'te test edilmiştir


2

Benim için işe yarayan şey JAVA_HOME'u dosyadan değiştirmekti /usr/lib/R/etc/javaconf

İlk Java benim sürümü etkin ne olduğunu kontrol: sudo update-alternatives --config java. Benim durumumdajava-8-oracle

Ben dosyayı açtı /usr/lib/R/etc/javaconfve yerini default-javatarafından java-8-oracle:

${JAVA_HOME=/usr/lib/jvm/default-java}

ile ikame edilmiş :

${JAVA_HOME=/usr/lib/jvm/java-8-oracle}

Ve sonra sudo R CMD javareconf

RStudio'yu yeniden başlattım ve ardından rJava'yı yükleyebildim.


1

burada yaptığım şey:

  1. /etc/apt/sources.list içinde şunu ekleyin:

    deb http://ftp.de.debian.org/debian sid main

Not: rjava en son sürüm olmalıdır

2 çalıştır: sudo apt-get update sudo apt-get install r-cran-rjava

Eski rjava sürümünü güncelledikten sonra rhdfs_1.0.8'i yükleyebilirsiniz.



1

Windows 10 kullanırken de aynı sorunla karşılaşıyordum. Aşağıdaki prosedürü kullanarak sorunu çözdüm

  1. Java'yı 64 bit pencereler için https://java.com/en/download/windows-64bit.jsp adresinden indirin \ Kurun
  2. Java geliştirme kitini https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html adresinden 64 bit pencereler için indirin \ Kurun
  3. Sonra masaüstünde \ Özellikler \ Gelişmiş sistem ayarları \ Gelişmiş \ Ortam Değişkenleri \ Sistem değişkenleri altında "Bu PC" simgesine sağ tıklayın, Yol \ Düzenle'ye tıklayın \ Yeni'ye tıklayın \ Kopyala ve yapıştır "C: \ Program Files \ Java \ jdk1 .8.0_201 \ bin ”ve" C: \ Program Files \ Java \ jre1.8.0_201 \ bin "(alıntı olmadan) \ Tamam \ Tamam \ Tamam

Not : jdk1.8.0_201 ve jre1.8.0_201, Java geliştirme kiti ve Java sürümüne bağlı olarak değişecektir.

  1. Ortam Değişkenleri penceresinde Kullanıcı için Kullanıcı değişkenlerine gidin \ Yeni'ye tıklayın Değişken adını "JAVA_HOME" olarak ve Değişken değerini "C: \ Program Files \ Java \ jdk1.8.0_201 \ bin" olarak koyun \ Tamam'a basın

Kurulumu kontrol etmek için CMD \ Javac yazın \ Enter'a basın ve java yazın \ enter'a basın Gösterecektir görüntü açıklamasını buraya girin

RStudio çalıştırmada

Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jdk1.8.0_201")

Not : jdk1.8.0_201, Java geliştirme kitinin sürümüne bağlı olarak değişecektir

Artık rJava paketini sorunsuz bir şekilde kurabilir ve yükleyebilirsiniz.


0

Sorun, rJava'nın RStudio( Version 1.0.136) içine yüklenmeyeceğiydi . Aşağıdakiler benim için çalıştı ( macOS Sierra version 10.12.6) ( burada bulundu ):

Adım 1: Yükleme ve javaforosx.dmggelen burada

Adım 2: Ardından, komutu RStudio içinden çalıştırın:

install.packages("rJava", type = 'source')

-2

Ben Ubuntu 16.04 benzer sorunla karşılaştı ve "varsayılan-java" adında bir klasör oluşturarak bunu çözmek başardı ettik /usr/lib/jvmve içine tüm içeriğini kopyalayarak /usr/lib/jvm/java-8-oracle. JAVA_HOME ortam değişkenini düzeltmenin faydasız olduğu ortaya çıktığı için bu çözümü tercih ettim.


1
Bu, default-jrepaket kurulumunu bozacaktır.
Gustavo Garcia
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.