如何安排闪亮的模块文件,以便它们在闪亮的服务器上运行?
Posted
技术标签:
【中文标题】如何安排闪亮的模块文件,以便它们在闪亮的服务器上运行?【英文标题】:How to arrange shiny modules files so that they run on Shiny Server? 【发布时间】:2019-12-03 19:02:18 【问题描述】:我正在尝试将应用程序放在服务器上。它位于正确的位置,因为我之前放置了其他应用程序。但是,这是我第一次使用模块。
我在 ui.R 中有 UI,在 server.R 中有服务器,其余的(所有非响应式代码 + 作为服务器和 UI 的模块的响应式函数)在 global.R 中。所有这些都在同一个目录中。当我通过 runApp() 在本地运行它时,一切正常。
看起来好像服务器没有看到 global.R 文件什么的。我应该如何安排文件以使其正常工作?
ui.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'))
)
)
))
server.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 是有效的实现。当我尝试通过浏览器连接它时,我得到了
'发生错误。应用程序无法启动。应用程序在初始化期间退出。'
没有日志返回到服务器(或者我找不到它们)。有什么建议吗?
【问题讨论】:
【参考方案1】:好的,我想通了。
问题在于 sf 包,在我的示例中它使用了这些东西:
GEOS 3.6.1、GDAL 2.2.3、PROJ 4.9.3
在正常的 sf 安装过程中,无法将它们安装到服务器上。应该手动安装它们,然后将 sf 包加载从 pacman::p_load() 更改为 library() 以免更新这些东西并且每次都失败应用程序启动导致崩溃。
【讨论】:
以上是关于如何安排闪亮的模块文件,以便它们在闪亮的服务器上运行?的主要内容,如果未能解决你的问题,请参考以下文章
在 R 闪亮的模块中使用 actionButton + insertUI 创建多个输入