在 Shiny.io 中上传应用程序时出错

Error while uploading app in Shiny.io

我正在尝试在 Shiny.io 上上传一个闪亮的应用程序。应用程序已部署,当尝试 link 时,应用程序因抛出错误 与服务器断开连接 而崩溃。当我检查仪表板的 Logs 时,它显示 服务器错误:找不到函数 "server"

我找不到解决方案。与此相关的文档和文章表明,使用的包可能是错误的原因之一,但我无法找到兼容或不兼容的包列表。

这些是我的应用中使用的 packages/libraries 的列表,

  1. 闪亮
  2. 地球
  3. ggplot2
  4. Plot3D
  5. 视觉调节
  6. rgl
  7. 动物园
  8. 杂项
  9. dplyr
  10. 闪亮BS
  11. 闪亮的 cssloader

提前致谢!!

更新

下面是可重现的 ui.R 和 server.R 脚本。 调试后发现这部分代码在部署时出错。

ui.R

library(shiny)
library(shinyBS)
library(shinycssloaders)
options(shiny.trace=TRUE)

shinyUI(pageWithSidebar(



  fluidRow(
   column(width = 4,height = 4,img(src='image.png', align = "left", height = 
   50, width = 200)),
   column(8,titlePanel("Analysis"))
 ),


  sidebarPanel(

  br(),

  fileInput("file1", label = ("  Data "),multiple = F),

  fluidRow(
    column(12,align ="center", actionButton("button", "Analyze",style = 
    "background-color : skyblue", icon = icon("stats", lib = 
     "glyphicon"),width = 250 )))


 ),
 mainPanel(

   bsAlert("alert"),

   br(),

    fluidRow(        

     tabsetPanel(
      tabPanel("Table",icon = 
       icon("table"),withSpinner(dataTableOutput('table'), type = 
       getOption("spinner.type", default = 8) ))

      )
     )
   )
 ))

server.R

  library(shiny)
   library(shiny)
   library(earth)
  library(ggplot2)
   library(plot3D)
  library(visreg)
  library(rgl)
  library(zoo)
  library(Hmisc)
  library(dplyr)
  library(gridExtra)

  options(shiny.maxRequestSize=30*1024^2) 
  options(shiny.trace=TRUE)

  if (interactive()){
    shinyServer(function(input, output,session) {
    dataframe <- reactive( {

    ###  Create a data frame reading data file to be used by other 
    functions..
      inFile <- input$file1     
      data1 <- read.csv(inFile$datapath, header = TRUE)


     })

     table1<- eventReactive(input$button, dataframe())
      output$table <- renderDataTable({table1()})

    })
 }

谢谢!

我终于能够调试代码并找到错误的解决方案。

Server.R 中删除语句 if (interactive()) 并从 shinyServer(function(input,output,session)) 中删除 session 参数。

因此部署没有任何错误。

替换以下 server.R 脚本,它应该可以正常工作。

 library(shiny)
 library(shiny)
 library(earth)
 library(ggplot2)
 library(plot3D)
 library(visreg)
 library(rgl)
  library(zoo)
 library(Hmisc)
library(dplyr)
library(gridExtra)

options(shiny.maxRequestSize=30*1024^2) 
 options(shiny.trace=TRUE)

shinyServer(function(input, output) {
dataframe <- reactive( {

  ###  Create a data frame reading data file to be used by other functions..
  inFile <- input$file1


  data1 <- read.csv(inFile$datapath, header = TRUE)


   })

   table1<- eventReactive(input$button, dataframe())
   output$table <- renderDataTable({table1()})

  })