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.
was ist ihre erste versoon? Möglicherweise müssen Sie es aktualisieren. Siehe zum Beispiel https://github.com/rstudio/shinyapps/issues/144 – scoa