我正在尝试使用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
答案 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关于重新安装shiny
和httpuv
的最后评论就行了。
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)
但是在这种情况下,您需要知道存储服务器变量的位置。