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.