2015-10-03 3 views
10

मैंने आर को संस्करण 3.2.2 में अपग्रेड किया है। मैं पुनः आरंभ जब Rstudio, ">" दिखाया गया है से पहले, वहाँ एक त्रुटि संदेश है:"स्टूड्यूडियो में उपकरण ::: httpdPort <= 0L: ...." में त्रुटि क्या है?

Error in tools:::httpdPort <= 0L : 
     comparison (4) is possible only for atomic and list types 

इसका क्या मतलब है? इस संदेश को हटाने के लिए मुझे क्या करना चाहिए?

+0

आपकी रूढ़िवादी संस्करण क्या है? आपको इसे अपग्रेड करना पड़ सकता है। उदाहरण के लिए देखें https://github.com/rstudio/shinyapps/issues/144 – scoa

उत्तर

10

अपने आरस्टूडियो संस्करण को नवीनतम में अपग्रेड करें, किसी भी ओएस में काम करना चाहिए।

लिनक्स/Ubuntu 14.04 टर्मिनल उपयोगकर्ताओं के लिए, बस कार्य करें:

sudo apt-get remove rstudio 

wget https://download1.rstudio.org/rstudio-0.99.489-amd64.deb 

sudo dpkg -i rstudio-0.99.489-amd64.deb 

अब, चलाने RStudio। त्रुटि संदेश गायब होना चाहिए।

5

मुझे आज भी एक ही समस्या का सामना करना पड़ा और मूल को समझने के लिए स्रोत कोड के माध्यम से खोज की गई। इसका कारण यह है कि आर 3.1.3, httpdPort एक चर था, जबकि आर 3.2.0 के बाद से, यह एक समारोह है।

त्रुटि तब होती है, क्योंकि लाइन

tools:::httpdPort <= 0L 

, गलत है अगर httpdPort एक समारोह है। यह बल्कि

tools:::httpdPort() <= 0L 

होना चाहिए ऐसा लगता है कि RStudio कुछ बिंदु पर है कि लाइन चलाता है और निश्चित रूप से, यह पता करने के लिए है, जो दो संस्करणों में से चलाने की जरूरत है। यही कारण है कि आर को एक संस्करण < = 3.1.3 संस्करण = = 3.2.0 से अद्यतन किया गया है, इसके बाद RStudio को अद्यतन करने की आवश्यकता है।

httpdPort फ़ाइल src/library/tools/R/dynamicHelp.R फ़ाइल में परिभाषित किया गया है। आर संस्करण 3.1.3 में, परिभाषा पढ़ता

httpdPort <- 0L 

जबकि आर संस्करण 3.2.0 में, यह है

httpdPort <- local({ 
    port <- 0L 
    function(new) { 
     if(!missing(new)) 
      port <<- new 
     else 
      port 
    } 
}) 

समस्या का समाधान करने के लिए < के लिए या तो डाउनग्रेड अपने आर संस्करण के लिए इस प्रकार है = R.3udio को अपग्रेड करने के लिए 3.1.3 या

संबंधित मुद्दे