Ho appena incontrato lo stesso problema oggi e ho cercato attraverso il codice sorgente per capire l'origine. Il motivo è che fino a R 3.1.3, httpdPort
era una variabile, mentre da R 3.2.0, è una funzione.
L'errore si verifica, perché la linea
tools:::httpdPort <= 0L
è sbagliato, se httpdPort
è una funzione. Dovrebbe invece essere
tools:::httpdPort() <= 0L
Sembra che RStudio corre quella linea ad un certo punto e, naturalmente, ha bisogno di sapere, quale delle due versioni per l'esecuzione. Questo è il motivo per cui RStudio deve essere aggiornato dopo che R è aggiornato da una versione < = 3.1.3 a una versione> = 3.2.0.
Il httpdPort
è definito nel file src/library/tools/R/dynamicHelp.R
. In R versione 3.1.3, la definizione si legge
httpdPort <- 0L
mentre in R versione 3.2.0, è
httpdPort <- local({
port <- 0L
function(new) {
if(!missing(new))
port <<- new
else
port
}
})
Per risolvere il problema è quindi a uno declassare la versione R per < = 3.1.3 o per aggiornare RStudio.
qual è il tuo rstudio versIon? Potrebbe essere necessario aggiornarlo. Vedi ad esempio https://github.com/rstudio/shinyapps/issues/144 – scoa