2013-10-27 8 views
8

Sto provando a giocare con Shiny e ho semplicemente tentato di eseguire l'esempio base pronto all'uso. Niente da fare.Errore runExample lucido - Impossibile creare il server

Ho tentato di risolvere il problema, ma tutto sembra risolvere i problemi durante l'esecuzione su un server esterno.

Forse mi sbaglio, ma ho assunto che questa app funzionasse nel mio browser usando localhost.

Ecco quello che ho fatto:

install.packages("shiny") 
library(shiny) 
runExample("01_hello") 

Ecco l'errore:

> runExample("01_hello") 

Listening on port 8100 
Error in startServer("0.0.0.0", port, httpuvCallbacks) : 
    Failed to create server 

e per completezza, ecco la mia sessione Informazioni:

> sessionInfo() 
R version 3.0.1 (2013-05-16) 
Platform: x86_64-apple-darwin10.8.0 (64-bit) 

locale: 
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] shiny_0.7.0 

loaded via a namespace (and not attached): 
[1] bitops_1.0-5 caTools_1.14 digest_0.6.3 httpuv_1.1.0 RJSONIO_1.0-3 tools_3.0.1 xtable_1.7-1 
+0

La versione corrente di 'httpuv' è 1.2.0 e' startServer' è una funzione esportata da 'httpuv'; l'aggiornamento di quel pacchetto lo risolve? –

+0

Ho appena aggiornato alla versione 1.2.0 ma senza dadi. Lo stesso errore. – Btibert3

+0

Come stai correndo R?Questo errore ti dice che httpuv non può avviare il server, probabilmente perché non può collegarsi a quella porta – hadley

risposta

4

@ Hadley della scorsa commento per reinstallare shiny e httpuv ha fatto il trucco.

devtools::install_github(c("shiny", "httpuv"), "rstudio") 
6

Questo errore potrebbe essere causa di porta bloccata.

Ero in esecuzione server lucido sulla porta 3259. Ho ucciso il server per qualche motivo e quando stavo cercando di avviarlo di nuovo ho visto questo errore.

Error in startServer ("0.0.0.0", porto, httpuvCallbacks): Impossibile creare dei server chiede: EseguiApplicazione -> startAppDir -> startApp -> startServer

Per risolvere si può prima trovare il processo che sta bloccando la porta primo utilizzo netstat per visualizzare il processo di blocing la porta

netstat -anp | grep: 3259 [[: blank:]]

e poi uccidere quel processo

1

In realtà con la reinstallazione hai appena interrotto il server httpuv in un modo difficile. quello che devi fare è solo stopServer il server corrente in esecuzione. Quello che succede qui è che il server httpuv è stato avviato ma non si è fermato per qualche motivo. ora che provi a rieseguire la tua app lucida non puoi avviarla di nuovo, perché è già stata avviata e quindi ottieni l'errore citato.

per avviare il programma, in questo caso si può semplicemente eseguire il servizio in un ciclo, non è necessario ricominciare server:

while (TRUE) { 
    .Call("httpuv_run", PACKAGE = "httpuv", 250) 
    Sys.sleep(0.001) 
} 

Anche se è anche possibile arrestare il server precedente e iniziare di nuovo con:

stopServer(server)

tuttavia in questo caso è necessario sapere dove è memorizzato variabile del server.

Problemi correlati