2013-10-27 75 views
8

我試圖玩弄Shiny,只是試圖運行出的現成的基本的例子。沒有骰子。閃亮runExample錯誤 - 失敗創建服務器

我試圖谷歌問題,但一切似乎解決在外部服務器上運行它的問題。

也許我錯了,但我認爲這個程序會在瀏覽器中使用localhost運行。

這裏是我做過什麼:

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

以下是錯誤:

> runExample("01_hello") 

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

和完整性緣故,這裏是我的會話信息:

> 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

當前版本的'httpuv'是1.2.0,'startServer'是從'httpuv'導出的函數;更新該軟件包是否修復它? –

+0

我剛剛更新到1.2.0,但沒有骰子。同樣的錯誤。 – Btibert3

+0

你如何運行R?這個錯誤告訴你httpuv無法啓動服務器,可能是因爲它無法綁定到那個端口 – hadley

回答

4

@哈德利的最後評論重新安裝shinyhttpuv伎倆。

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

此錯誤可能是因爲端口被阻塞。

我跑在端口3259.閃亮的服務器我殺出於某種原因,服務器,當我試圖再次啓動它,我看到這個錯誤。

錯誤的startserver( 「0.0.0.0」,端口,httpuvCallbacks): 無法創建服務器 電話:runApp - > startAppDir - >的startApp - > startserver的

要解決,你可以先找到的過程,阻止你的端口 首先使用netstat來查看進程blocing你的端口

-anp的netstat | grep的:3259 [[:空白:]

,然後殺掉該進程

1

實際上,重新安裝時,您只是以一種困難的方式停止httpuv服務器。 你需要做的只是當前運行的服務器的stopServer。這裏發生的事情是httpuv服務器已啓動,但由於某種原因未停止。現在,您嘗試重新運行閃亮的應用程序,因爲它已經啓動,然後出現提到的錯誤,所以無法再次啓動它。

在這種情況下,你可以在一個循環中運行的服務啓動你的程序,你不需要重新啓動服務器:

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

雖然你也可以停止以前的服務器,並使用再次啓動:

stopServer(server)

但是在這種情況下,你需要知道服務器變量存儲。