shinymeta 在本地工作,但在发布到 shinyapps.io 时中断

shinymeta works locally but breaks when published to shinyapps.io

我正在探索令人兴奋的新 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 的直方图,上面有一个 "Show Code" 按钮。单击 "Show Code" 按钮会打开一个框,其中包含生成图表所需的代码行(即 hist(diamonds$carat)),该代码行通过 expandChain() 函数传递。

当我将应用发布到 shinyapps.io 时,应用呈现正常。但是,当我单击 "Show Code" 按钮时,代码没有出现,应用程序与服务器断开连接。

我是 运行 macOS 上的 R 3.6.1。我有免费的 shinyapps.io 帐户(但我的其他练习 shiny 应用程序已毫无问题地发布)。

感谢您的任何建议。

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

library(clipr)