2015-10-03 20 views
10

R'yi sürüm 3.2.2'ye yükselttim. Ben ">" gösterilmektedir önce Rstudio, bir hata mesajı var yeniden başlattığınızda:Rstudio'da "araçlar ::: httpdPort <= 0L: ...." hatası ne demektir?

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

bu ne anlama geliyor? Bu mesajı kaldırmak için ne yapmalıyım?

+0

Sizin rstudio versIon nedir? Yükseltmeniz gerekebilir. Örneğin bkz. Https://github.com/rstudio/shinyapps/issues/144 – scoa

cevap

10

RStudio sürümünüzü en yeni sürüme yükseltin, herhangi bir işletim sisteminde çalışmalıdır. Linux/Ubuntu 14.04 Terminal kullanıcıları için

, basitçe yapın:

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 

Şimdi, koşmak RStudio. Hata mesajı yok olmalıdır.

5

Sadece bugün aynı sorunla karşılaştım ve kökü anlamak için kaynak kodu araştırdım. Bunun nedeni R 3.1.3'e kadar httpdPort'un bir değişkendir, R 3.2.0'dan beri ise bir fonksiyonudur.

hata httpdPort bir işlev ise hat çünkü

tools:::httpdPort <= 0L 

, yanlış, ortaya çıkar. Oldukça O RStudio bir noktada o çizgiyi çalışır ve elbette, çalıştırmak için iki sürümü hangisi, bilmelidir görünüyor

tools:::httpdPort() <= 0L 

olmalıdır. Bu nedenle, R'nin < = 3.1.3 sürümünden bir sürüm> = 3.2.0'a güncellendikten sonra RStudio'nun güncellenmesi gerekir. src/library/tools/R/dynamicHelp.Rsrc/library/tools/R/dynamicHelp.R dosyasında, numaralı dosyada tanımlanan httpdPort, numaralı dosyada tanımlanmıştır. R, sürüm 3.2.0, bu sorunun çözümü için

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

< ya bozmak için R versiyonu edilmesidir iken R versiyonu 3.1.3 deki tanımlama =

httpdPort <- 0L 

okur RStudio yükseltmek için 3.1.3 veya.

İlgili konular