在 shinyapps 上部署应用程序时目录出现问题

Problem with directory when deploying app on shinyapps

我写了一个 golem 应用程序并想将它部署在 shinyapp.io 上。不幸的是,每次我尝试这样做时都会出现以下错误(在日志中):

Warning in loadSupport(appDir, renv = sharedEnv, globalrenv = NULL) : Loading R/ subdirectory for Shiny application, but this directory appears to contain an R package. Sourcing files in R/ may cause unexpected behavior.

与我的项目相关的所有文件都存储在一个目录中,我的 golem 项目最初是在该目录中创建的。我还检查并将手动工作目录设置为 'R' 文件夹(存储 app_server 和 app_ui 的文件夹)。不幸的是,当我部署我的应用程序时,提到的错误再次出现。此外,每次我在 RStudio 中关闭我的项目时,我都会将工作区图像保存到“.RData”文件(这个文件也存储在主目录中)——也许这是一个问题(但我也尝试部署 w/o 这个文件它也失败了)。我真的不知道问题出在哪里,也不知道这个错误是什么意思。

有趣的是,常规(单个)app.R 可以毫无问题地部署在 shinyapps 上。

从 Shiny 1.5 开始,如果您 运行 一个带有名为 R/ 的子目录的闪亮应用程序,它将自动加载存储在其中的每个功能。您可以避免将自动加载选项设置为 FALSE,执行以下操作:

options(shiny.autoload.r=FALSE)

我所做的(我不确定这是否是最佳做法)是在调用 shiny::runApp() 之前进行设置。例如,我的包中通常有一个 launch() 函数,它调用 shiny::runApp()。在此 launch() 函数中包含选项应该可以解决问题。

尽管如此,该消息是一个警告,而不是一个错误,并且可能在您闪亮的应用程序中一切正常。