【问题标题】:Shiny runExample Error - Fail to create server闪亮的运行示例错误 - 无法创建服务器
【发布时间】:2013-11-05 23:21:06
【问题描述】:

我正在尝试使用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 

【问题讨论】:

  • httpuv的当前版本是1.2.0,startServer是从httpuv导出的函数;更新该软件包可以解决问题吗?
  • 我刚刚更新到 1.2.0 但没有骰子。同样的错误。
  • R 的运行情况如何?该错误告诉您 httpuv 无法启动服务器,可能是因为它无法绑定到该端口
  • @hadley 我正在使用 RStudio,但如果我也跳到命令行也会出现错误
  • 如果您再试一次,您会得到不同的端口号吗?如果没有,您可能想尝试 httpuv 和 shiny 的开发版本:devtools::install_github(c("shiny", "httpuv"), "rstudio")

标签: r localhost shiny


【解决方案1】:

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

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

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

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

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

然后杀死那个进程

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

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

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

      stopServer(server)

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-16
        • 2015-10-22
        • 1970-01-01
        • 2015-10-21
        • 1970-01-01
        • 2020-02-12
        • 2014-11-26
        • 1970-01-01
        相关资源
        最近更新 更多