10

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

我试图用谷歌搜索这个问题,但在外部服务器上运行它时,一切似乎都解决了问题。

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

3 回答 3

7

此错误可能是由于端口阻塞。

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

startServer("0.0.0.0", port, httpuvCallbacks) 中的错误:无法创建服务器调用:runApp -> startAppDir -> startApp -> startServer

要解决,您可以先找到阻塞端口的进程首先使用 netstat 查看阻塞端口的进程

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

然后杀死那个进程

于 2014-03-04T10:57:51.243 回答
5

@Hadley 最后一条评论重新安装shinyhttpuv成功了。

 devtools::install_github(c("shiny", "httpuv"), "rstudio") 
于 2013-10-28T16:03:57.217 回答
2

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

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

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

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

stopServer(server)

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

于 2016-02-26T17:38:26.990 回答