【问题标题】:runApp() from shiny is not working from code or RStudio's button来自闪亮的 runApp() 不适用于代码或 RStudio 的按钮
【发布时间】:2019-09-09 17:16:11
【问题描述】:

我无法运行闪亮的应用程序,无论是通过 RStudio 的“运行应用程序”按钮还是直接使用代码 runApp()

我多年来一直在使用这个闪亮的应用程序。但是最近,没有任何更改,当我在 RStudio 中按下“运行应用程序”按钮时,应用程序停止工作。然后我输入命令 runApp() 也不行。

当我按下 RStudio 按钮“运行应用程序”时,我得到:

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.

工作目录很好。

所以,我被困住了。我无法运行该应用程序。

【问题讨论】:

  • 如果您尝试使用shiny::runApp(appDir = "path/to/your/app") 手动进入应用程序目录会发生什么?您的每个应用程序是否都存在相同的问题,或者只是这个问题?
  • 进入目录也会出现同样的问题。是的,这个问题会影响我的所有应用。

标签: r shiny rstudio run-app


【解决方案1】:

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

不能从另一个闪亮的应用程序中调用闪亮的应用程序。

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

  2. 在与闪亮应用相同的目录中创建一个新的 R 文件 run.R。在 run.R 中,输入:

库(闪亮) runApp("test.R")

像正常的 R 进程一样运行这个文件。

  1. 在原始闪亮应用中使用 shinyApp(ui = ui, server = server) 代替 runApp

【讨论】:

  • 我尝试在runApp中添加路径,创建一个新文件并使用shinyApp()。它们都不起作用。
  • 闪亮应用的结构是什么。您是否有一个文件 app.R 或具有不同名称(如 gui.R)?或者你有两个不同的文件 ui.R 和 server。 R ??
  • 我有两个不同的文件:ui.R 和 server.R
【解决方案2】:

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

但是如果我首先打开 RStudio(例如,从桌面图标)或者工作目录与应用所在的目录不同,我没有任何问题:RStudio 中的“运行应用”按钮可以正常工作.

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

【讨论】:

  • 我遇到了同样的问题。设置不同的工作目录(因此不是 app 目录)可以解决它。但是,对于 IDE 来说,这仍然是一种奇怪的行为……
猜你喜欢
  • 2016-03-26
  • 1970-01-01
  • 2023-01-26
  • 2013-11-12
  • 2023-03-21
  • 2017-09-09
  • 2019-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多