shiny 的 runApp() 无法通过代码或 RStudio 的按钮运行

runApp() from shiny is not working from code or RStudio's button

我无法 运行 一个闪亮的应用程序,无论是通过 RStudio 的按钮 "Run App" 还是直接使用代码 运行App()

我已经使用这个闪亮的应用程序很多年了。但最近,在没有任何更改的情况下,当我在 RStudio 中按下按钮 "Run App" 时,应用程序停止工作。然后我输入命令 运行App() 但它也不起作用。

当我按下 RStudio 按钮时 "Run App" 我得到:

runApp('')
Error in shinyAppDir(x) : No Shiny application exists at the path ""

当我在应用程序开头输入命令 shiny::runApp() 时,我得到:

Listening on http://127.0.0.1:3642
Warning: Error in runApp: Can't call `runApp()` from within `runApp()`. If your application code contains `runApp()`, please remove it.
  51: stop
  50: runApp
Error in runApp() : 
  Can't call `runApp()` from within `runApp()`. If your application code contains `runApp()`, please remove it.

工作目录很好。

所以,我卡住了。我无法 运行 应用程序。

我以前见过第二个错误。当我启动一个闪亮的应用程序时,我试图解决一个不同的问题。其中有一个按钮,单击该按钮后,命令 runApp 会启动另一个闪亮的应用程序。那是我收到错误的时候。

无法从另一个闪亮的应用程序中调用一个闪亮的应用程序。

  1. 尝试在 runApp 命令中添加 R 文件路径/名称。示例:runApp("test.R")

  2. 在与 shiny app 相同的目录中创建一个新的 R 文件 run.R。在 run.R 中输入:

图书馆(闪亮) runApp("test.R")

运行 这个文件就像一个普通的 R 进程。

  1. 在原来的闪亮应用程序中使用 shinyApp(ui = ui, server = server) 而不是 runApp

我是在直接打开应用程序打开RStudio的时候才发现问题的;在这种情况下,RStudio 会自动将工作目录识别为应用程序所在的目录。

但是如果我首先打开 RStudio(例如,从桌面图标)或者工作目录与应用程序所在的目录不同,我没有任何问题:"Run App" 按钮RStudio 完美运行。

我认为按钮取决于工作目录,如果工作目录与应用程序目录不同,按钮会自动添加路径以便应用程序可以运行。但是,如果工作目录与应用程序目录相同,按钮会删除路径,在 运行App() 中留下一个空的 space,然后导致问题。