Shiny runExample Error - 无法创建服务器

时间:2013-10-27 01:01:07

标签: r localhost shiny

我正在尝试使用Shiny并尝试运行基本的开箱即用示例。没有骰子。

我尝试Google问题,但在外部服务器上运行时,所有内容似乎都解决了问题。

也许我弄错了,但我认为这个应用会在我的浏览器中使用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 

3 个答案:

答案 0 :(得分:7)

此错误可能是因为端口被阻塞。

我在端口3259上运行闪亮的服务器。我出于某种原因杀了服务器,当我试图再次启动时,我看到了这个错误。

startServer出错(" 0.0.0.0",port,httpuvCallbacks):  无法创建服务器 电话:runApp - > startAppDir - > startApp - > startserver的

要解决此问题,您可以先找到阻止端口的进程 首先使用netstat查看blocing port的过程

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

然后杀死该进程

答案 1 :(得分:5)

@ Hadley关于重新安装shinyhttpuv的最后评论就行了。

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

答案 2 :(得分:2)

实际上,重新安装时,您只是以困难的方式停止了httpuv服务器。 您需要做的只是stopServer当前正在运行的服务器。这里发生的是httpuv服务器已启动,但由于某种原因它没有停止。既然您尝试重新运行闪亮的应用程序,则无法再次启动它,因为它已经启动,然后您会收到上述错误。

在这种情况下启动你的程序你可以在循环中运行服务,你不需要再次启动服务器:

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

虽然您也可以使用以下命令停止以前的服务器并重新启动它:

stopServer(server)

但是在这种情况下,您需要知道存储服务器变量的位置。