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

mus*_*a00 4 r shiny shinyapps

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

loadSupport(appDir, renv = sharedEnv, globalrenv = NULL) 中的警告:正在为 Shiny 应用程序加载 R/ 子目录,但该目录似乎包含 R 包。在 R/ 中获取文件可能会导致意外行为。

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

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

小智 7

从 Shiny 1.5 开始,如果您运行一个带有名为 的子目录的闪亮应用程序R/,它将自动加载存储在其中的每个函数。您可以避免这种情况,将自动加载选项设置为FALSE

options(shiny.autoload.r=FALSE)
Run Code Online (Sandbox Code Playgroud)

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

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

  • 您还可以运行 `golem::disable_autoload()`。请参阅 [golem 0.3.1 公告](https://golemverse.org/post/golem-0.3.1-release-on-cran/) (2认同)