2014-11-21 74 views
3

我是Shiny的新手,但对R来说并不陌生。由于工作原因,我现在在RStudio服务器上进行R开发。它在Google Compute Engine上运行,如果这有所帮助。 RStudio服务器运行良好,但Shiny存在问题。R RStudio服务器上的Shiny dev在启动应用程序时闪烁崩溃

安装闪亮后,我跑了示例命令:

runExample("01_hello")

起初,这带来了你好闪亮!应用程序,但一切都是灰色的。我重新启动了RStudio,清理了工作区,然后再次运行该命令。现在一个窗口弹出,但它立即消失。我尝试重新启动RStudio服务器,并在不同的浏览器中运行,但行为仍在继续。

我试过很快的点击“在浏览器中打开”按钮,这让我在我的浏览器中显示一个灰色的选项卡,就像我重新启动之前一样。

有什么建议吗?谢谢。

编辑:

当我启动的例子中,RStudio控制台提供:

Listening on http://127.0.0.1:4096 

直到我按ESC键,只是坐在那里。

IE控制台没有提供任何错误(虽然我也不确定我是否正确使用它 - 不是网络用户,对不起)。

中的Chrome控制台的确给了一个错误:

'webkitRequestAnimationFrame' is vendor-specific. Please use the standard 'requestAnimationFrame' instead.

其中有一个链接到VM320:6635曰:

function _b(b,c){var d=b;var e=Gni(function(){var a=wj();d.Df(a)});return $wnd.webkitRequestAnimationFrame(e,c)}

+0

有浏览器JavaScript控制台中的任何有意义的输出? – 2014-11-22 05:09:43

+0

好主意@KevinUshey。编辑原始问题。谢谢! – 2014-11-24 16:12:13

回答

1

我已经想通了我的问题,主要是。只要我启动Shiny应用程序,窗口仍会关闭,但现在我可以导航到Shiny应用程序。这足以让我考虑这个问题。

我必须做两件事。首先,我不得不使用GCE的命令行来打开Shiny正在监听的端口,这是使用命令行的第二个答案:How to open a specific port such as 9090 in Google Compute Engine

然后,我必须使用以下命令启动Shiny应用程序:

runExample("01_hello", host="0.0.0.0", port=9999) 

这也适用于runApp命令。 9999是您用GCE打开的端口号,host=0.0.0.0似乎告诉Shiny倾听外部连接(来自in-R ?runApp帮助文档)。你需要从字面上把0.0.0.0,而不是你的机器的IP或类似的东西。

尽管窗口在我启动示例时仍然关闭,但我可以如何使用端口号导航到实例的外部IP并使用Shiny应用程序。

谢谢你们的帮助。如果您认为应该说更多内容,请随时发表评论。

1

要测试问题是否出在RStudio服务器或其他地方在R中运行这个单个文件应用程序(复制粘贴到R终端):

library(shiny) 
server <- function(input, output) { 
    output$distPlot <- renderPlot({ 
    hist(rnorm(input$obs), col = 'darkgray', border = 'white') 
    }) 
} 

ui <- shinyUI(fluidPage(
    sidebarLayout(
    sidebarPanel(
     sliderInput("obs", "Number of observations:", min = 10, max = 500, value = 100) 
    ), 
    mainPanel(plotOutput("distPlot")) 
) 
)) 

shinyApp(ui = ui, server = server) 

我发现谷歌群p讨论Rstudio server problem所以它可能是某种兼容性问题。

+0

谢谢@Mikael。我跑的代码和: '听http://127.0.0.1:5584 /usr/bin/xdg-open:1:eval:www-browser:找不到 /usr/bin/xdg-open: 1:eval:links2:未找到 /usr/bin/xdg-open:1:eval:elinks:找不到 /usr/bin/xdg-open:1:eval:links:找不到 /usr/bin/xdg-open:1:eval:lynx:找不到 /usr/bin/xdg-open:1:eval:w3m:找不到 xdg-open:无法打开'http://127.0.0.1:5584 '' 我转到端口5584上的IP地址,但网页不可用。我需要先做点什么吗? 并感谢您的链接。我正在从那里写问题解决者。 – 2014-11-24 16:26:13

+0

这是一篇有趣的文章。我遇到了类似的问题;该应用程序启动,但它不完全可操作ui.R是按照定义创建的,但与“server.R”没有关系,即应用程序仅用作接口,没有其他任何东西。 – Konrad 2016-07-06 10:56:13

2

在我的VPS上安装RStudio Server和Shiny Server后,我遇到了同样的问题,然后尝试配置Apache代理,以便我可以使用www.example.com/rstudio访问IDE而不是默认www。 example.com:8787。

我这样做是错误的,首先,和有同样的问题,因为你,但在这里我找到了正确的解决方案:https://support.rstudio.com/hc/en-us/articles/200552326-Running-with-a-Proxy

的直接原因是缺少的WebSocket代理配置:

ProxyPassMatch ^/rstudio/p/([0-9]+)/(websocket|.*/websocket)/$ ws://localhost:8787/p/$1/$2/ 
相关问题