2015-10-03 3 views
10

Ich habe R auf Version 3.2.2 aktualisiert. Als ich neu starten Rstudio, bevor „>“ gezeigt wird, gibt es eine Fehlermeldung:Was bedeutet "Fehler in Tools ::: httpdPort <= 0L: ...." in Rstudio?

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

Was bedeutet das? Was muss ich tun, um diese Nachricht zu entfernen?

+0

was ist ihre erste versoon? Möglicherweise müssen Sie es aktualisieren. Siehe zum Beispiel https://github.com/rstudio/shinyapps/issues/144 – scoa

Antwort

10

Aktualisieren Sie Ihre RStudio-Version auf die neueste, sollte in jedem Betriebssystem funktionieren.

Für Linux/Ubuntu 14.04 Terminal-Benutzer, einfach tun:

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 

Nun führen RStudio. Die Fehlermeldung sollte verschwinden.

5

Ich habe gerade das gleiche Problem heute und durchsucht den Quellcode, um den Ursprung zu verstehen. Der Grund ist, dass bis R 3.1.3, httpdPort eine Variable war, während es seit R 3.2.0 eine Funktion ist.

Der Fehler tritt auf, weil die Leitung

tools:::httpdPort <= 0L 

falsch ist, wenn httpdPort eine Funktion ist. Es sollte eher

tools:::httpdPort() <= 0L 

sein Es scheint, dass RStudio diese Linie zu einem bestimmten Zeitpunkt ausgeführt wird und natürlich muss er wissen, welche der beiden Versionen. Aus diesem Grund muss RStudio aktualisiert werden, nachdem R von einer Version < = 3.1.3 auf eine Version> = 3.2.0 aktualisiert wurde.

Die httpdPort ist in der Datei src/library/tools/R/dynamicHelp.R definiert. In R Version 3.1.3 liest die Definition

httpdPort <- 0L 

während in R-Version 3.2.0 ist es

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

Zur Lösung des Problems ist somit entweder degradieren Ihre R-Version < = 3.1.3 oder RStudio zu aktualisieren.