【问题标题】:shinymeta works locally but breaks when published to shinyapps.ioshinymeta 在本地工作,但在发布到 shinyapps.io 时会中断
【发布时间】:2019-12-23 06:12:35
【问题描述】:

我正在探索令人兴奋的新 shinymeta 包,用于从闪亮的应用程序生成可重现的代码。按照示例here,我制作了一个可以在我的本地机器上运行的应用程序,但是当我发布到shinyapps.io 时失败了

以下是重现错误的最小示例,即在本地工作正常,但在发布到 shinyapps.io 时失败。

app.R

library(shiny)
library(shinymeta)
library(ggplot2)
library(shinyAce)

ui <- fluidPage(
    outputCodeButton(plotOutput("p1"))
)


server <- function(input, output) {

    output$p1 <- metaRender(renderPlot, {
        hist(diamonds$carat)
    })


observeEvent(input$p1_output_code, {
    code <- expandChain(output$p1())
    displayCodeModal(code)
})    

}
shinyApp(ui, server)

在我的本地环境中,此代码按预期工作。该应用程序显示diamonds$carat 的直方图,上方带有“显示代码”按钮。单击“显示代码”按钮打开一个框,其中包含生成图形所需的代码行(即hist(diamonds$carat)),该图形通过expandChain() 函数传递。

当我将应用程序发布到 shinyapps.io 时,应用程序呈现正常。但是,当我单击“显示代码”按钮时,代码不会出现并且应用程序与服务器断开连接。

我在 macOS 上运行 R 3.6.1。我有免费的 shinyapps.io 帐户(但我的其他实践闪亮应用程序已发布没有问题)。

感谢您的任何建议。

【问题讨论】:

    标签: r shiny shinyapps


    【解决方案1】:

    检查 shinapps.io 上的日志,问题似乎出在 clipr 包上。这是shinymeta 的依赖项,但由于某种原因,它似乎不像其他依赖项那样被自动调用。将以下代码添加到 app.R 文件解决了该问题:

    library(clipr)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-11
      • 1970-01-01
      • 2021-08-17
      • 2015-10-24
      • 2012-09-25
      • 2020-07-15
      • 1970-01-01
      相关资源
      最近更新 更多