我有这个Shiny应用程序,我想使用RInno包运行。
现在我当前的问题是,在创建应用程序然后运行compile_iss之后,我进入了应用程序的设置。最后,当应用程序启动时,它给出了以下错误:
ERROR: Can't call `runApp()` from within `runApp()`. If your application code contains `runApp()`, please remove it.
我的应用程序内部任何地方都不包含runApp()
。
我在最后包含了这段代码:
session$onSessionEnded(function() {
stopApp()
q("no")
})
我用以下内容结束了我的闪亮应用:
shinyApp(ui = ui, server = server)
有谁知道如何解决这个错误?
添加了代码:
ui <- fluidPage(
titlePanel(""),
h5(""),
sidebarLayout(
sidebarPanel(
selectInput("type", "Select Type of Record:",
choices=c('A', 'B', 'C'),
selected="A"),
DT::dataTableOutput("responses", width = 300), tags$hr(),
textInput("Comment", "Comments:", ""),
actionButton("submit", "Submit")),
mainPanel(
plotlyOutput("plot")
)
)
)
server <- function(input, output, session) {
mydata <- reactive({
invalidateLater(30 * 60000,session)
odbcChannel<- odbcConnect("a", uid, pwd)
message <- sqlQuery(odbcChannel, "select a, b,c
from table
")
#I got rid of all the other stuff, as I figured it was unimportant. Let me know if you need to see more
})
session$onSessionEnded(function() {
stopApp()
q("no")
})
}
答案 0 :(得分:1)
RInno旨在在应用程序的任何代码运行之前在应用程序的启动序列中调用runApp()
。 shinyApp(ui = ui, server = server)
正试图第二次启动该应用。
良好的compile_iss
前检查是运行runApp("path to ui.R/server.R")
,因为这正是RInno尝试启动应用的方式
如果您从应用中删除了shinyApp(ui = ui, server = server)
,它应该会修复错误,但如果您仍然遇到问题,请与我们联系,我们很乐意为您解决问题!