2017-02-22 7 views
9

लोड करने में असफल रहा Rstudio का बुना हुआ बटन rmarkdown (आरएमडी) फ़ाइलों को बुनाई में विफल रहा है जिसमें rJava पैकेज शामिल है। हालांकि, अगर मैं rmarkdown::render() का उपयोग करता हूं, तो वही आरएमडी फाइलें बिना किसी समस्या के एचटीएमएल में प्रस्तुत करती हैं।Rstudio बुना हुआ बटन rJava

मैं निम्नलिखित कोड के साथ त्रुटि पुन: पेश कर सकते हैं: test.Rmd की

सामग्री:

--- 
title: "test" 
output: html_document 
--- 

```{r} 
library(rJava) 
``` 

बुनना बटन बटन पर क्लिक करने वापसी होगी:

processing file: test.Rmd 

Error : .onLoad failed in loadNamespace() for 'rJava', details: 
    call: dyn.load(file, DLLpath = DLLpath, ...) 
    error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.3/Resources/library/rJava/libs/rJava.so': 
    dlopen(/Library/Frameworks/R.framework/Versions/3.3/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: @rpath/libjvm.dylib 
    Referenced from: /Library/Frameworks/R.framework/Versions/3.3/Resources/library/rJava/libs/rJava.so 
    Reason: image not found 
Quitting from lines 7-8 (test.Rmd) 
Error: package or namespace load failed for 'rJava' 
Execution halted 

और rmarkdown::render("test.Rmd") ठीक काम करता है । इसके अलावा, library(rJava) चल रहा है (बुनाई नहीं) भी ठीक काम करता है (RStudio के भीतर)।

मैकोज़ सिएरा 10.12 में RStudio संस्करण 1.0.136, knitr 1.15.1, rmarkdown 1.3, rJava 0.9-8, R 3.3.2 का उपयोग कर।

अद्यतन: @ r2evans द्वारा अनुरोध किए गए Sys.getenv() के आउटपुट को जोड़ना। DYLD_FALLBACK_LIBRARY_PATH के मान में कोई अंतर है, लेकिन मुझे नहीं पता कि यह महत्वपूर्ण है या नहीं। मैं कुछ निजी जानकारी XXX के साथ बदलता हूं।

HTML फ़ाइल में Knit बटन से उत्पन्न:

## __CF_USER_TEXT_ENCODING 
##      0x1F5:0x0:0x52 
## Apple_PubSub_Socket_Render 
##      /private/tmp/com.apple.launchd.HvKScioyGU/Render 
## DISPLAY    :0 
## DYLD_FALLBACK_LIBRARY_PATH 
##      /Library/Frameworks/R.framework/Resources/lib 
## EDITOR    vi 
## GIT_ASKPASS   rpostback-askpass 
## HOME     XXX 
## LANG     en_CA.UTF-8 
## LC_CTYPE    en_CA.UTF-8 
## LN_S     ln -s 
## LOGNAME    XXX 
## MAKE     make 
## NOT_CRAN    true 
## PAGER     /usr/bin/less 
## PATH     /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Library/TeX/texbin 
## PWD     XXX 
## R_ARCH     
## R_BROWSER    /usr/bin/open 
## R_BZIPCMD    /usr/bin/bzip2 
## R_DOC_DIR    /Library/Frameworks/R.framework/Resources/doc 
## R_GZIPCMD    /usr/bin/gzip 
## R_HOME    /Library/Frameworks/R.framework/Resources 
## R_INCLUDE_DIR   /Library/Frameworks/R.framework/Resources/include 
## R_LIBS    /Library/Frameworks/R.framework/Versions/3.3/Resources/library 
## R_LIBS_SITE   
## R_LIBS_USER   ~/Library/R/3.3/library 
## R_PAPERSIZE   a4 
## R_PAPERSIZE_USER  a4 
## R_PDFVIEWER   /usr/bin/open 
## R_PLATFORM   x86_64-apple-darwin13.4.0 
## R_PRINTCMD   lpr 
## R_QPDF    /Library/Frameworks/R.framework/Resources/bin/qpdf 
## R_RD4PDF    times,inconsolata,hyper 
## R_SESSION_TMPDIR  /var/folders/15/vdvn4fvx0zn0gc93_5krp6h00000gn/T//RtmpiYlwpU 
## R_SHARE_DIR   /Library/Frameworks/R.framework/Resources/share 
## R_SYSTEM_ABI   osx,gcc,gxx,gfortran,? 
## R_TEXI2DVICMD   /usr/local/bin/texi2dvi 
## R_UNZIPCMD   /usr/bin/unzip 
## R_ZIPCMD    /usr/bin/zip 
## RMARKDOWN_MATHJAX_PATH 
##      /Applications/RStudio.app/Contents/Resources/resources/mathjax-26 
## RMARKDOWN_PREVIEW_DIR 
##      /var/folders/15/vdvn4fvx0zn0gc93_5krp6h00000gn/T//RtmpLe3D9z 
## RS_RPOSTBACK_PATH  /Applications/RStudio.app/Contents/MacOS/rpostback 
## RS_SHARED_SECRET  XXX 
## RSTUDIO    1 
## RSTUDIO_PANDOC  /Applications/RStudio.app/Contents/MacOS/pandoc 
## RSTUDIO_SESSION_PORT 
##      XXX 
## RSTUDIO_USER_IDENTITY 
##      XXX 
## RSTUDIO_WINUTILS  bin/winutils 
## SED     /usr/bin/sed 
## SHELL     /bin/bash 
## SHLVL     0 
## SSH_AUTH_SOCK   XXX 
## TAR     /usr/bin/tar 
## TMPDIR    /var/folders/15/vdvn4fvx0zn0gc93_5krp6h00000gn/T/ 
## USER     XXX 
## XPC_FLAGS    0x0 
## XPC_SERVICE_NAME  0 

फ़ाइल rmarkdown::render() से उत्पन्न में:

## __CF_USER_TEXT_ENCODING 
##      0x1F5:0x0:0x52 
## Apple_PubSub_Socket_Render 
##      /private/tmp/com.apple.launchd.HvKScioyGU/Render 
## DISPLAY    :0 
## DYLD_FALLBACK_LIBRARY_PATH 
##      /Library/Frameworks/R.framework/Resources/lib:/Library/Frameworks/R.framework/Resources/lib:/Library/Frameworks/R.framework/Resources/lib:/Library/Frameworks/R.framework/Resources/lib:/Users/Jayme/lib:/usr/local/lib:/usr/lib:::::::: 
## EDITOR    vi 
## GIT_ASKPASS   rpostback-askpass 
## HOME     XXX 
## LANG     en_CA.UTF-8 
## LC_CTYPE    en_CA.UTF-8 
## LN_S     ln -s 
## LOGNAME    XXX 
## MAKE     make 
## PAGER     /usr/bin/less 
## PATH     /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Library/TeX/texbin 
## R_BROWSER    /usr/bin/open 
## R_BZIPCMD    /usr/bin/bzip2 
## R_DOC_DIR    /Library/Frameworks/R.framework/Resources/doc 
## R_GZIPCMD    /usr/bin/gzip 
## R_HOME    /Library/Frameworks/R.framework/Resources 
## R_INCLUDE_DIR   /Library/Frameworks/R.framework/Resources/include 
## R_LIBS_SITE   
## R_LIBS_USER   ~/Library/R/3.3/library 
## R_PAPERSIZE   a4 
## R_PDFVIEWER   /usr/bin/open 
## R_PLATFORM   x86_64-apple-darwin13.4.0 
## R_PRINTCMD   lpr 
## R_QPDF    /Library/Frameworks/R.framework/Resources/bin/qpdf 
## R_RD4PDF    times,inconsolata,hyper 
## R_SESSION_TMPDIR  /var/folders/15/vdvn4fvx0zn0gc93_5krp6h00000gn/T//RtmpLe3D9z 
## R_SHARE_DIR   /Library/Frameworks/R.framework/Resources/share 
## R_SYSTEM_ABI   osx,gcc,gxx,gfortran,? 
## R_TEXI2DVICMD   /usr/local/bin/texi2dvi 
## R_UNZIPCMD   /usr/bin/unzip 
## R_ZIPCMD    /usr/bin/zip 
## RMARKDOWN_MATHJAX_PATH 
##      /Applications/RStudio.app/Contents/Resources/resources/mathjax-26 
## RS_RPOSTBACK_PATH  /Applications/RStudio.app/Contents/MacOS/rpostback 
## RS_SHARED_SECRET  XXX 
## RSTUDIO    1 
## RSTUDIO_PANDOC  /Applications/RStudio.app/Contents/MacOS/pandoc 
## RSTUDIO_SESSION_PORT 
##      XXX 
## RSTUDIO_USER_IDENTITY 
##      XXX 
## RSTUDIO_WINUTILS  bin/winutils 
## SED     /usr/bin/sed 
## SHELL     /bin/bash 
## SSH_AUTH_SOCK   XXX 
## TAR     /usr/bin/tar 
## TMPDIR    /var/folders/15/vdvn4fvx0zn0gc93_5krp6h00000gn/T/ 
## USER     XXX 
## XPC_FLAGS    0x0 
## XPC_SERVICE_NAME  0 

Update2 से DYLD_FALLBACK_LIBRARY_PATH सहित r2evans

@ से टिप्पणियों के बाद .Rmd में फिर से बदलता है Sys.getenv() की अपेक्षा के अनुसार, लेकिन बुना हुआ बटन (ऊपर जैसा ही त्रुटि संदेश) के साथ त्रुटि का व्यवहार और render() में कोई त्रुटि बनी रहती है। नई .Rmd सामग्री है:

--- 
title: "test2" 
output: html_document 
--- 

```{r} 
Sys.setenv(DYLD_FALLBACK_LIBRARY_PATH="/Library/Frameworks/R.framework/Resources/lib:/Library/Frameworks/R.framework/Resources/lib:/Library/Frameworks/R.framework/Resources/lib:/Library/Frameworks/R.framework/Resources/lib:/Users/Jayme/lib:/usr/local/lib:/usr/lib::::::::") 
library(rJava) 
``` 

दिलचस्प है, बस ऊपर इस test2.Rmd में render() उपयोग कर, और Sys.getenv() सहित अब दो नए चर, इससे पहले कि वर्तमान और वर्तमान बुनना बटन का उपयोग नहीं नहीं आउटपुट:

## DYLD_LIBRARY_PATH  /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre/lib/server 
## LD_LIBRARY_PATH  :@[email protected] 

मुझे नहीं लगता कि यह समझ में आता है या नहीं, लेकिन मैंने एक नया .Rmd (नीचे) की कोशिश की, जो अभी भी एक ही त्रुटि

--- 
title: "test3" 
output: html_document 
--- 

```{r} 
Sys.setenv(DYLD_FALLBACK_LIBRARY_PATH="/Library/Frameworks/R.framework/Resources/lib:/Library/Frameworks/R.framework/Resources/lib:/Library/Frameworks/R.framework/Resources/lib:/Library/Frameworks/R.framework/Resources/lib:/Users/Jayme/lib:/usr/local/lib:/usr/lib::::::::") 
Sys.setenv(DYLD_LIBRARY_PATH="/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre/lib/server") 
Sys.setenv(LD_LIBRARY_PATH= ":@[email protected]") 
library(rJava) 
``` 
+0

मैं अपने त्रुटि पुन: पेश नहीं कर सकते हैं ... अपने सिस्टम, Ubuntu 16.04 LTS पर सभी ठीक काम करता है। बाकी के पैकेज मेरे सिस्टम पर समान हैं। –

+0

'sys.getenv()' दोनों को 'रेंडर' और 'बुनाई' में चलाने के लिए जानकारीपूर्ण हो सकता है। मतभेदों की तलाश करें, खासकर 'पथ' और 'LIB' से संबंधित चरों में से कोई भी। – r2evans

+0

@ r2evans अनुरोध की गई जानकारी के साथ अद्यतन प्रश्न। –

उत्तर

0

क्या आप जानते हैं कि आप किस जावा का उपयोग कर रहे हैं? मैं, जावा के बारे में पर्याप्त अगर मेरे अनुभव मदद कर सकता है पता करने के लिए पता नहीं है, लेकिन जब मैं अपने त्रुटि पुन: पेश करने की कोशिश की, मैं इस साइट की ओर इशारा किया गया था:

https://support.apple.com/kb/DL1572?locale=en_US

जहाँ मैं डाउनलोड किया है और विरासत जावा स्थापित ओएस एक्स 10.11 एल कैपिटन, ओएस एक्स 10.10 योसेमेट, ओएस एक्स 10.9 मैवरिक्स, ओएस एक्स 10.8 माउंटेन शेर, और ओएस एक्स 10.7 शेर के लिए 6 रनटाइम। क्या ऐसा करने से आपकी त्रुटि हल हो जाती है?

मैं सिएरा 10.12.3, RStudio 1.0.136, rJava_0.9-8 के साथ मैकबुक प्रो पर काम कर रहा हूं।

+0

मैं जावा संस्करण 8 अद्यतन 121 का उपयोग कर रहा हूं (https में परीक्षण से://www.java.com/en/download/installed8.jsp)। कुछ समय पहले मुझे राजवा से संबंधित कुछ मुद्दे थे और इस विरासत जावा 6 को एक प्रस्तावित समाधान के रूप में याद किया, लेकिन मैंने उन्हें http://stackoverflow.com/questions/30738974/rjava-load-error-in-rstudio से कुछ उत्तरों के बाद हल किया -r के बाद उन्नयन करने के लिए OSX-Yosemite। मुझे नहीं लगता कि यह जावा समस्या है क्योंकि फ़ंक्शन बुनाई के दायरे के बाहर ठीक काम करता है। –

+0

RStudio बुनाई बटन के साथ उपयोग के बाहर काम करने के बारे में अच्छा बिंदु। –

1

मुझे आपके जैसा ही समस्या थी। Rstudio R कंसोल में rJava लोड करने में कोई समस्या नहीं है, लेकिन एक HTML फ़ाइल बुनाई के दौरान लोड करने में विफलता का सामना करना पड़ रहा है। आप की तरह, मैं रेंडर() कमांड का उपयोग करके "बुनाई" पर आरजेवा लोड करने में भी सक्षम था। मैं परीक्षण है कि तुमने किया था के लगभग व्यापक स्तर नहीं किया, लेकिन मैं अंत में सफलतापूर्वक दौरान rJava लोड कर सकता है एक neilfws द्वारा commments में आपको दिए गए लिंक का पालन करके "बुनी" - तो फिर

http://stackoverflow.com/questions/30738974/rjava-load-error-in-rstudio-r-after-upgrading-to-osx-yosemite

मैं युआन (https://stackoverflow.com/users/5697305/yuan) द्वारा सुझाव पीछा आदेश का उपयोग कर अनुसंधान में सीधे पुस्तकालय लोड करने के लिए:

dyn.load('/Library/Java/JavaVirtualMachines/jdk1.8.0[YOURVERSIONHERE].jdk/Contents/Home/jre/lib/server/libjvm.dylib') 

RMarkdown फ़ाइल में इस लाइन सम्मिलित करना सामान्य सांत्वना व्यवहार को प्रभावित नहीं किया है, लेकिन एक बुनना का उपयोग कर "बुनी के लिए अनुमति दी "बटन। कभी नहीं पता क्यों, लेकिन समाधान काम करता है।

3

कमांड लाइन पर निम्नलिखित चल रहा है मेरे लिए इस समस्या का समाधान:

sudo R CMD javareconf 
संबंधित मुद्दे