闪亮的应用程序可以在本地运行,但不能在 shinyapps.io 上运行

shiny app works locally but not on shinyapps.io

我在SO和R社区上浏览过,看起来这个错误可能是由于各种原因造成的,所以我仍然post我的问题在这里,请给我一些建议。非常感谢。

这是在本地运行的代码:

library(shiny)

ui=fluidPage(
  titlePanel('hello shiny'),
  sidebarPanel(
    textInput('ID',label='ID:'),actionButton('goButton',label='submit')
    ),
  mainPanel(imageOutput('out'))
)

server <- function(input, output,session) {
  fullnames=list.files(path = "/Users/u/myapp/www", pattern = ".png");
  reactive({
            input$ID=gsub(pattern = '\.png','',fullnames)
            }
           );
  output$out=renderImage(
    {
     filenames=normalizePath(file.path('/Users/u/myapp/www',paste(input$ID,'.png',sep='')));
     list(src=filenames)
    },
    deleteFile = F
     
  )
}

shinyApp(ui,server)

但是,有一个警告:

Listening on http://127.0.0.1:7453
Warning in normalizePath(file.path("/Users/u/myapp/www", paste(input$ID,  :
  path[1]="/Users/ya/myapp/www/.png": No such file or directory

我猜是input导致了这个错误,但是服务器日志上类似的警告显示代码中有一个ID'20191704465.png'(我在textInput widget中填写的ID ):

2021-08-12T13:32:22.863287+00:00 shinyapps[4485062]: Listening on http://127.0.0.1:38432
2021-08-12T13:32:26.831219+00:00 shinyapps[4485062]:   path[1]="/Users/u/myapp/www/.png": No such file or directory
2021-08-12T13:32:26.831217+00:00 shinyapps[4485062]: Warning in normalizePath(file.path("/Users/u/myapp/www", paste(input$ID,  :
2021-08-12T13:32:31.471638+00:00 shinyapps[4485062]:   path[1]="/Users/u/myapp/www/20191704465.png": No such file or directory

但不知何故服务器仍然显示:

path[1]="/Users/u/myapp/www/20191704465.png": No such file or directory

代码出了什么问题?

虽然它可以 运行 在本地使用

path = "/Users/u/myapp/www",

在 shiny 服务器上 运行ning as

时最好指定相对路径

path = "./www"