3

私は Shiny は初めてですが、R は初めてではありません。仕事のため、RStudio サーバーで R 開発を行っています。それが違いを生む場合、Google Compute Engineで実行されています。RStudio サーバーは正常に動作しますが、Shiny には問題があります。

光沢のあるインストール後、サンプル コマンドを実行しました。

runExample("01_hello")

最初は、これで Hello Shiny! が発生しました。アプリですが、すべてが灰色でした。RStudio を再起動し、ワークスペースをクリーンアップして、コマンドを再度実行しました。ウィンドウがポップアップするようになりましたが、すぐに消えます。RStudio サーバーを再起動し、別のブラウザーで実行しようとしましたが、動作が続きます。

「ブラウザーで開く」ボタンをすばやくクリックしてみましたが、再起動する前と同じように、ブラウザーに灰色のタブが表示されます。

助言がありますか?ありがとうございました。

編集:

サンプルを起動すると、RStudio コンソールに次のように表示されます。

Listening on http://127.0.0.1:4096

そして、escを押すまでそこに座っています。

IE コンソールはエラーを表示しません (ただし、Web 担当者ではなく、正しく使用しているかどうかもわかりません)。

Chrome コンソールにエラーが表示されます。

「webkitRequestAnimationFrame」はベンダー固有です。代わりに、標準の「requestAnimationFrame」を使用してください。

次の VM320:6635 へのリンクがあります。

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

4

3 に答える 3

2

VPS に RStudio Server と Shiny Server をインストールした後も同じ問題が発生し、Apache プロキシを構成しようとしたため、デフォルトの www.example.com の代わりに www.example.com/rstudio を使用して IDE にアクセスできます。 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/
于 2015-11-02T18:38:08.713 に答える
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)

Google グループ ディスカッションの Rstudio サーバーの問題を見つけたので、何らかの互換性の問題である可能性があります。

于 2014-11-22T07:00:13.630 に答える
1

私は自分の問題をほとんど理解しました。Shiny アプリを起動するとすぐにウィンドウが閉じますが、Shiny アプリに移動できるようになりました。これは、これが修正されたと考えるのに十分です。

私がしなければならなかったことは2つありました。まず、GCE のコマンド ラインを使用して、Shiny がリッスンしているポートを開く必要がありました。これは、コマンド ラインを使用してここでの 2 番目の回答でした: 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.0Shiny に外部接続をリッスンするように指示しているようです (in-R?runAppヘルプ ドキュメントから)。マシンの IP などではなく、文字通り 0.0.0.0 を入力する必要があります。

サンプルを起動するとウィンドウが閉じたままになりますが、ポート番号を使用してインスタンスの外部 IP に移動し、Shiny アプリを使用する方法はあります。

ご協力ありがとうございました。これ以上言うべきことがあると思われる場合は、お気軽にコメントしてください。

于 2014-11-24T20:11:01.910 に答える