आर: rJava पैकेज स्थापित विफल


116

जब rJava को install.packages("rJava")कमांड का उपयोग करके स्थापित किया जाता है, तो मुझे निम्नलिखित त्रुटि मिलती है:

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’

मेरे पास जावा JDK स्थापित है और java -versionनिम्नलिखित लौटाता है:

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

जब मैं त्रुटि के लिए चारों ओर घूम रहा हूं, तो मैं देखता हूं कि अन्य लोगों के पास एक ही मुद्दा है, लेकिन "संपूर्ण जेडीके स्थापित करें, न कि केवल जेआरई" जो मैंने किया है, के अलावा कोई समाधान नहीं ढूंढ रहा है।

दूसरी चीज जो मैंने पढ़ी थी, उसे चलाना था sudo R CMD javareconf जो बिना किसी त्रुटि के बहुत खुशी से चलती है।

किसी भी विचार मेरी समस्या क्या है?

[[EDIT]] मुझे यह समस्या आए कुछ महीने हो गए हैं। मैंने शुरू में अपने जावा पथों को संपादित करके इसे हल किया था, जैसा कि मैंने नीचे पोस्ट किए गए उत्तर में चित्रित किया था। मैं हाल ही में एक नए Ubuntu स्थापित पर एक ही मुद्दे में भाग गया। मैंने आरकेवा पैकेज को स्थापित करने के लिए एपर्ट को प्राप्त करने के लिए डिर्क की सिफारिश की कोशिश की। इसने पूरी तरह से काम किया। जो मैं शुरू में सराहना करने में विफल रहा, वह यह है कि उबंटू apt-get मेथड का उपयोग करके पैकेजों को स्थापित करना मूल रूप से R के अंदर एक ही पैकेज को लोड करने से अलग है। ।


उत्तर यहाँ भी पाया जा सकता है - stackoverflow.com/questions/12872699/…
तेजस प्रसाद

1
बस अपने भविष्य के स्वयं के लिए यहाँ एक टिप्पणी कर रहा हूं (जब मैं निस्संदेह इस सवाल पर खुद को वापस पाता हूं) कि मुझे अपने आरएसडीओ-सर्वर को मान्यता प्राप्त करने के लिए उपयुक्त आर-टू-इंस्टॉल स्थापित करने के लिए सुडो आर सीएमडी जावरकोनफ चलाने की आवश्यकता है।
जिम क्रोज़ियर

2
नौ साल बाद और यह कभी न खत्म होने वाली समस्या है। मैं इसे हर बार चलाता हूं। मैं आर। का कुछ नया इंस्टॉलेशन करता हूं। कुछ बदलाव .. ओएस, रैस्टडियो वर्जन, आर वर्जन, जावा वर्जन, जेडके, जेआर, जेवीएम .... और इसे हल करने के लिए यह हमेशा एक नया उपाय है। यह हास्यास्पद है कि मैं इस सभी बकवास के बिना एक एक्सेल फाइल नहीं पढ़ सकता।
RMF

@rmf अब कई एक्सेल रीडिंग पैकेज हैं जिन्हें जावा की आवश्यकता नहीं है। सरल पढ़ने के लिए मुझे पसंद है readxlलेकिन एक्सेल में वापस लिखने के लिए मुझे पसंद है openxlsx। न ही rJava की आवश्यकता है।
जेडी लॉन्ग

जवाबों:


114

नहीं होगा

apt-get install r-cran-rjava

आसान हो गया है? आप मुझसे पूछ सकते थे उपयोग पर! :)


3
उबंटू और डेबियन की बात यह है कि आपको पहले स्थान पर नहीं होना चाहिए --- यह उचित पैकेज का उपयोग करके "बस काम" करना चाहिए। अपने जीवन को आसान बनाएं और उन पैकेजों का उपयोग करें जहां आप कर सकते हैं। मुझे लगता है कि आपने उबंटू के जावा पैकेज भी इस्तेमाल किए हैं?
डिर्क एडल्डबुलेटेल

16
डिर्क, आप ये सवाल पूछते हैं जैसे मुझे कोई विचार है कि मैंने क्या किया। अगर मुझे याद है, तो मुझे apt-get का उपयोग करके जावा को स्थापित करने में परेशानी हुई थी, इसलिए मैंने स्रोत से बनाया और शायद मेरी समस्याओं का स्रोत (सभी उद्देश्य)। बेशक यह सिर्फ बुरा कर्म हो सकता है।
JD लॉन्ग

2
मैं R 2.15.3 ubuntu 12.04.2 64bit पर हूं। जब update.packages()मुझे सूचना मिलती है कि मैं ए rJava update। R के भीतर से स्थापना विफल हो जाती है। जब मेरे पास apt-get install r-cran-rjavaकोई अद्यतन उपलब्ध नहीं है। ये क्यों हो रहा है?
ईसीआई

1
@DirkEddelbuettel, मेरी Red Hat में 'sudo yum install r-cran-rjava' काम नहीं कर रही है। लोड किए गए प्लगइन्स कहते हैं: rhnplugin यह सिस्टम RHN क्लासिक या RHN सैटेलाइट से अपडेट प्राप्त कर रहा है। स्थापित करने की प्रक्रिया स्थापित करें कोई पैकेज r-cran-rjava उपलब्ध नहीं है।
बिगडेटा विज्ञानी

1
@DirkEddelbuettel, जबकि 'यह सिर्फ काम करना चाहिए' दृष्टिकोण मुझे बहुत अच्छा लगता है, तथ्य यह है कि केवल इतने सारे पैकेज आर-क्रैन-एक्स में सूचीबद्ध हैं यही कारण है कि लोग 'नियमित' आर तरीके (इंस्टॉल.पैकेज) का उपयोग करते हैं। इसके अलावा, मैंने आपकी सलाह को क्रैन के माध्यम से लेने की सलाह दी, जो वास्तव में R 3.x की मदद नहीं करता है, अब मुख्यधारा है, जबकि r-cran- में पैकेज स्पष्ट रूप से R 3.x से पहले हैं
रिचर्ड

77

मेरी समस्या यह है कि मेरे JAVA_HOMEपर्यावरण चर के साथ एक समस्या थी । हां, चौंकाने वाला मुझे पता है। के लिए मेरे प्रारंभिक सेटिंग PATHऔर JAVA_HOMEइस तरह देखा:

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

और मैंने जोड़ा /jreतो यह अब इस तरह दिखता है:

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

जावा में सबकुछ ठीक लग रहा था, /jreलेकिन आरजेवा के बिना ठीक नहीं होगा। अजीब।


5
एक प्रश्न बनाकर "स्टैक ओवरफ्लो" का सही अर्थ रखना -> उत्तर अनंत लूप --- मुझे यह पसंद है।
DrewConway

10
धन्यवाद। यह सुनिश्चित करने के लिए कि भविष्य में Google उपयोगकर्ता अपने R प्रश्नों के उत्तर पा सकते हैं, मेरे लिए कुछ करना!
जेडी लॉन्ग

11
JAVA_HOME को संशोधित करने और जावा निष्पादन योग्य के लिए पथ के बाद, मैंने पाया कि मुझे चलाने की आवश्यकता है R CMD javareconf। अन्यथा, rJava स्थापना प्रक्रिया अभी भी हेडर, और पुस्तकालयों, आदि के पुराने स्थानों को देखती है
कार्लोस मैकासेट

1
मेरे लिए कुछ भी काम नहीं किया। मैं Red Hat Linux सर्वर में "rJava" को स्थापित करने की कोशिश कर रहा हूं जहां मैं कुछ R चमकदार अनुप्रयोगों की सेवा कर रहा हूं। मुझे निम्नलिखित ERROR मिल रहा है: पैकेज 'rJava' * हटाने '/ usr / lib64 / R / पुस्तकालय / rJava के लिए कॉन्फ़िगरेशन विफल हुआ। त्रुटि को समाप्त करने की प्रक्रिया में मैंने निम्नलिखित कदम उठाए हैं। 1. लिनक्स सूडो यम में जावा जावा जावा-1.7.0-ओपेनजैक इंस्टॉल करें। 2. सेट करें गृह और पैटह निर्यात JAVA_HOME = / usr / lib / jvm / java-1.7.0-ibm-1.7.0.6.1.x86_64 / jre निर्यात पथ = $ पथ: $ JAVA_HOME / बिन 3. पुन: कॉन्फ़िगर किया गया जावा sudo / usr / bin / R CMD javareconf
BigDataScientist

हां, यह काम करता है, मैंने 8-oracleइसके बजाय संस्करण का उपयोग किया।
गनजप्पर 14

21

धन्यवाद - आपके सुझाव $JAVA_HOMEने मुझे एक समान समाधान की ओर अग्रसर किया:

prompt$ unset JAVA_HOME

आर करने से पहले।



1
हां, इससे मेरी समस्या ठीक हो गई। क्या आप कृपया बता सकते हैं कि क्यों? धन्यवाद
MichaelZ

JAVA_HOME को सेट करें और CLASSPATH = $ CLASSPATH: / usr / lib64 / R / share / java
42n4


14

यह है कि मैं इसे कैसे काम करता हूं:

लिनक्स में (उबंटू 16.04)

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

आर में:

install.packages("rJava")

1
धन्यवाद ... मुझे आर में rcdk नामक कुछ स्थापित करने की आवश्यकता थी, जो नीचे गिर गया था क्योंकि कॉस जावा काम नहीं करता था। आपके काम ने समस्या को हल किया (Ubuntu 18.04)
user1945827

वास्तव में मदद करने के लिए खुश!
जिम चेन

11

इसने मेरे लिए उबंटू 12.04 और आर संस्करण 3.0 पर काम किया

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

यह वह निर्देशिका है जिसमें jni.h है

अगला किसी अन्य आवश्यक हेडर फ़ाइल के लिए एक सॉफ्ट लिंक बनाएं (नीचे दिए गए JAVA_CPPFLAGS विकल्प में एक से अधिक निर्देशिका शामिल करने का तरीका जानने के लिए मैं बहुत आलसी हूं):

sudo ln -s linux/jni_md.h .

आखिरकार

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/includeमेरे लिए समस्या हल हो गई।
मुस्तफा अल्ज़ैनटॉट

... और मैं echo $JAVA_HOMEमामले में जोड़ java-6-sunदूंगा आपकी सटीक निर्देशिका नहीं है।
isomorphismes 21

7

नीचे एक और पोस्ट पर मेरे जवाब में से एक है - त्रुटि: अभी स्थापित पैकेज लोड करने में असमर्थ है
(यह इस प्रश्न के लिए भी प्रासंगिक है)

लिनक्स (उबंटू) उपयोगकर्ताओं के लिए: यदि आपके पास oracle-java (7/8) स्थापित है। यह इस स्थान पर होगा /usr/lib/jvmऔर sudoपहुंच आवश्यक है।

/etc/ld.so.conf.d/java.confनिम्नलिखित प्रविष्टियों के साथ फ़ाइल बनाएँ :

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

(जावा -8-ओरेकल को जावा-7-ऑरेकल से अपने जावा संस्करण के आधार पर बदलें)

फिर:

sudo ldconfig

RStudio को पुनरारंभ करें और फिर rJava पैकेज स्थापित करें।


1
मैंने सफलता के अलग-अलग अंशों के साथ कई समाधानों की कोशिश की है, लेकिन यह पहला समाधान है जो मैंने पार किया है जो लचीला प्रतीत होता है (यानी आर लॉन्च के समय हर बार दोहराए जाने के लिए समान 5 चरणों की आवश्यकता नहीं होती है)।
सैम्वेन १

4

एक AMD64 पर Gentoo के तहत रनिंग आर। मैंने R 2.12.0 में अपग्रेड किया

R संस्करण 2.12.0 (2010-10-15) कॉपीराइट (C) 2010 सांख्यिकीय कंप्यूटिंग के लिए R फाउंडेशन 3-900051-07-0 प्लेटफार्म: x86_64-pc-linux-gnu (64-bit) और उन pesky संदेश गए दूर।

जान वन्देर्मेर


2

मैंने Openjdk-7- * स्थापित करने की कोशिश की, लेकिन फिर भी मुझे rJava को स्थापित करने में समस्याएँ आईं। जब मैंने अपना कंप्यूटर फिर से चालू किया, तब कोई समस्या नहीं थी।

इसलिए

sudo apt-get install openjdk-7-*


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

2

RJava पैकेज /usr/lib/jvm/default-java/फ़ोल्डर के लिए दिखता है । लेकिन यह डिफ़ॉल्ट रूप में उपलब्ध नहीं है। इस फ़ोल्डर में सिस्टम के लिए कॉन्फ़िगर किए गए डिफ़ॉल्ट जावा के लिए एक सिमलिंक है।

डिफ़ॉल्ट जावा को सक्रिय करने के लिए निम्नलिखित पैकेज स्थापित करें:

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

CRAN R 3.4.1 के साथ ubuntu 17.04 पर परीक्षण किया गया


2

मेरे लिए जो काम किया वह फ़ाइल से JAVA_HOME बदल रहा था /usr/lib/R/etc/javaconf

मैंने पहली बार जाँच की कि जावा का मेरा संस्करण क्या है: sudo update-alternatives --config java :। मेरे मामले में, यह थाjava-8-oracle

मैं फ़ाइल को खोला /usr/lib/R/etc/javaconfऔर प्रतिस्थापित default-javaद्वारा java-8-oracle:

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

द्वारा प्रतिस्थापित :

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

और तब sudo R CMD javareconf

मैंने RStudio को पुनः आरंभ किया, और फिर rJava को स्थापित किया।


1

मैं यहाँ क्या कर रहा हूँ:

  1. /etc/apt/source.list में, जोड़ें:

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

नोट: rjava नवीनतम संस्करण होना चाहिए

2 रन: sudo apt-get update sudo apt-get install r-cran-rjava

एक बार rjava के पुराने संस्करण को अपडेट करने के बाद, rhdfs_1.0.8 स्थापित कर सकते हैं।



1

मैं विंडोज 10. का उपयोग करते समय एक ही समस्या का सामना कर रहा था। मैंने निम्नलिखित प्रक्रिया का उपयोग करके समस्या को हल किया है

  1. जावा को https://java.com/en/download/windows-64bit.jsp से 64-बिट विंडोज़ के लिए डाउनलोड करें \ इसे स्थापित करें
  2. 64-बिट विंडोज़ के लिए https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html से जावा विकास किट डाउनलोड करें
  3. इसके बाद डेस्कटॉप / प्रॉपर्टीज / एडवांस सिस्टम सेटिंग्स \ एडवांस्ड \ एनवायरनमेंट वेरिएबल्स में "इस पीसी" आइकन पर राइट क्लिक करें Path वेरिएबल सेलेक्ट पथ \ _ Edit \ पर क्लिक करें न्यू \ कॉपी और पेस्ट पथ पर क्लिक करें "C: \ Program Files \ Java \ jdk1 .8.0_201 \ bin ”और“ C: \ Program Files \ Java \ jre1.8.0_201 \ bin ”(बिना उद्धरण के) \ OK \ OK \ OK

नोट : jdk1.8.0_201 और jre1.8.0_201 जावा विकास किट और जावा के संस्करण के आधार पर बदला जाएगा

  1. एन्वायरमेंट वेरिएबल्स विंडो में यूजर वेरिएबल के लिए यूजर \ "न्यू जेव पुट नाम पर क्लिक करें" JAVA_HOME "और वेरिएबल वैल्यू" C: \ Program Files \ Java \ jdk1.8.0_201 \ bin "प्रेस" के रूप में

स्थापना की जांच करने के लिए, CMD \ Type javac \ Enter दबाएं और java \ press Enter टाइप करें यह दिखाएगा यहां छवि विवरण दर्ज करें

RStudio में

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

नोट : jdk1.8.0_201 जावा विकास किट के संस्करण के आधार पर बदला जाएगा

अब आप rJava पैकेज को बिना किसी समस्या के इंस्टॉल और लोड कर सकते हैं।


0

समस्या rJava अभ्यस्त RStudio( Version 1.0.136) में स्थापित नहीं थी । निम्नलिखित ने मेरे लिए काम किया ( macOS Sierra version 10.12.6) और यहां पाया गया ):

स्टेप -1: यहांjavaforosx.dmg से डाउनलोड और इंस्टॉल करें

चरण -2: अगला, RStudio के अंदर से कमांड चलाएँ:

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

-2

मुझे उबंटू 16.04 पर इसी तरह की समस्या का सामना करना पड़ा है और "डिफ़ॉल्ट-जावा" नामक एक फ़ोल्डर बनाकर इसे हल करने में सक्षम था /usr/lib/jvmऔर इसमें सभी सामग्री की प्रतिलिपि बनाई गई /usr/lib/jvm/java-8-oracle। मैंने इस समाधान को चुना क्योंकि JAVA_HOME पर्यावरण चर को सुधारने से कोई फायदा नहीं हुआ।


1
यह default-jreपैकेज इंस्टॉल को तोड़ देगा ।
गुस्तावो गार्सिया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.