首页 > 解决方案 > 如何安排闪亮的模块文件,以便它们在闪亮的服务器上运行?

问题描述

我正在尝试在服务器上放置一个应用程序。它位于正确的位置,因为我之前放置了其他应用程序。但是,这是我第一次使用模块。

我在 ui.R 中有 UI,在 server.R 中有服务器,其余部分(所有非反应性代码 + 反应性函数作为服务器和 UI 的模块)在 global.R 中。所有这些都在同一个目录中。当我通过 runApp() 在本地运行它时,一切正常。

看起来好像服务器没有看到 global.R 文件或其他东西。我应该如何安排文件以使其工作?

用户界面

shinyUI(fluidPage(
    sidebarPanel(
      typUI('UI_maps')
    ),
    mainPanel(
      conditionalPanel('input.typ != "hydrologiczne"', ns = NS('UI_maps'),
                       column(6, mapUI('map1')),
                       column(6, mapUI('map2'))
      ),
      conditionalPanel('input.typ == "hydrologiczne"', ns = NS('UI_maps'),
                       column(6, mapUI('map3')),
                       column(6, mapUI('map4'))
      )
    )
))

服务器.R

shinyServer(function(input, output, session) {
  callModule(map_m, 'map1', tabela_meteo, woj)
  callModule(map_m, 'map2', tabela_meteo, woj)
  callModule(map_h, 'map3', tabela_hydro, woj)
  callModule(map_h, 'map4', tabela_hydro, woj)
  callModule(typ, 'UI_maps', tabela_hydro, tabela_meteo)
})

global.R 是工作实现。当我尝试通过浏览器连接它时,我得到

'发生了错误。应用程序无法启动。应用程序在初始化期间退出。

没有日志返回到服务器(或者我找不到它们)。有什么建议吗?

标签: rmoduleshinyshiny-servershinymodules

解决方案


好的,我想通了。

问题在于sf包,在我的示例中它使用了这些东西:

GEOS 3.6.1、GDAL 2.2.3、PROJ 4.9.3

在正常的sf安装过程中,无法将它们安装在服务器上。应该手动安装它们,然后将 sf 包加载从pacman::p_load()更改为library()以便不更新这些东西并且每次应用程序启动时都会失败,这就是导致崩溃的原因。


推荐阅读