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)
我正在探索令人兴奋的新 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)