R shinyapps.io上未运行闪亮应用程序:与字体相关?
我开发了一个闪亮的应用程序,它在我的设备浏览器中运行良好。然而,当我在shinyapps.io上上传应用程序时,我收到错误“断开与服务器的连接”。我从shinyapps.io获得以下应用程序日志:R shinyapps.io上未运行闪亮应用程序:与字体相关?,r,shiny,shinydashboard,shinyapps,R,Shiny,Shinydashboard,Shinyapps,我开发了一个闪亮的应用程序,它在我的设备浏览器中运行良好。然而,当我在shinyapps.io上上传应用程序时,我收到错误“断开与服务器的连接”。我从shinyapps.io获得以下应用程序日志: 2021-04-27T04:11:08.075959+00:00 shinyapps[4036798]: Running on host: 8c947af8f6fc 2021-04-27T04:11:08.084768+00:00 shinyapps[4036798]: Server version:
2021-04-27T04:11:08.075959+00:00 shinyapps[4036798]: Running on host: 8c947af8f6fc
2021-04-27T04:11:08.084768+00:00 shinyapps[4036798]: Server version: 1.8.6.1
2021-04-27T04:11:08.084799+00:00 shinyapps[4036798]: LANG: de_DE.UTF-8
2021-04-27T04:11:08.084811+00:00 shinyapps[4036798]: shiny version: 1.6.0
2021-04-27T04:11:08.084811+00:00 shinyapps[4036798]: R version: 4.0.2
2021-04-27T04:11:08.084845+00:00 shinyapps[4036798]: rmarkdown version: (none)
2021-04-27T04:11:08.084822+00:00 shinyapps[4036798]: httpuv version: 1.5.4
2021-04-27T04:11:08.084857+00:00 shinyapps[4036798]: jsonlite version: 1.7.1
2021-04-27T04:11:08.084857+00:00 shinyapps[4036798]: knitr version: 1.30
2021-04-27T04:11:08.084870+00:00 shinyapps[4036798]: RJSONIO version: (none)
2021-04-27T04:11:08.297255+00:00 shinyapps[4036798]: Using jsonlite for JSON processing
2021-04-27T04:11:08.301048+00:00 shinyapps[4036798]:
2021-04-27T04:11:08.301050+00:00 shinyapps[4036798]: Starting R with process ID: '73'
2021-04-27T04:11:08.084879+00:00 shinyapps[4036798]: htmltools version: 0.5.1.1
2021-04-27T04:11:08.085019+00:00 shinyapps[4036798]: Using pandoc: /opt/connect/ext/pandoc/2.11
2021-04-27T04:11:08.330665+00:00 shinyapps[4036798]:
2021-04-27T04:11:08.330667+00:00 shinyapps[4036798]: Listening on http://127.0.0.1:39137
2021-04-27T04:11:08.426988+00:00 shinyapps[4036798]: Attache Paket: ‘shinydashboard’
2021-04-27T04:11:08.426986+00:00 shinyapps[4036798]:
2021-04-27T04:11:08.426988+00:00 shinyapps[4036798]:
2021-04-27T04:11:08.427714+00:00 shinyapps[4036798]: The following object is masked from ‘package:graphics’:
2021-04-27T04:11:08.427715+00:00 shinyapps[4036798]:
2021-04-27T04:11:08.427715+00:00 shinyapps[4036798]: box
2021-04-27T04:11:08.427716+00:00 shinyapps[4036798]:
2021-04-27T04:11:08.443079+00:00 shinyapps[4036798]:
2021-04-27T04:11:08.442706+00:00 shinyapps[4036798]:
2021-04-27T04:11:08.442707+00:00 shinyapps[4036798]: Attache Paket: ‘DT’
2021-04-27T04:11:08.442707+00:00 shinyapps[4036798]:
2021-04-27T04:11:08.443079+00:00 shinyapps[4036798]: The following objects are masked from ‘package:shiny’:
2021-04-27T04:11:08.443080+00:00 shinyapps[4036798]: dataTableOutput, renderDataTable
2021-04-27T04:11:08.443080+00:00 shinyapps[4036798]:
因此,我没有看到任何有用的内容,但在浏览器日志中,我得到:
GEThttps://user.shinyapps.io/webapp_example/_w_77b8af3e/AdminLTE-2.0.6/fonts/Source_Sans_Pro_700.ttf
[HTTP/2 404 Not Found 1446ms]
downloadable font: download failed (font-family: "Source Sans Pro" style:normal weight:700 stretch:100 src index:2): status=2147746065 source: https://user.shinyapps.io/webapp_example/_w_77b8af3e/AdminLTE-2.0.6/fonts/Source_Sans_Pro_700.ttf
在应用程序的ui中,我使用html标记和图标。以下是ui的开头:
ui <- dashboardPage(
dashboardHeader(title = "Example"
),
dashboardSidebar(sidebarMenu(id = "menu1",
sidebarMenuOutput("menu"))
),
dashboardBody(
tabItems(
tabItem(tabName="title",
fluidRow(
box(
tags$br(),
tags$dt(list(icon("pen"), "Project Title")),
tags$ol(
tags$br(),
tags$li(
list(
"Give your project a title under ",
icon("pen"), tags$b("Project Title")),
" in the ",
icon("bars"),
tags$b(" Menu"),
" on the left-hand side"
),
tags$br(),
tags$li(
list(
"Continue with",
icon("database"),
tags$b("Data Preparation")
)
)
),
width = 12,
collapsible = TRUE,
title = list(icon("info-circle"), "INSTRUCTIONS"),
status = "primary",
solidHeader = TRUE,
)
)
),
...............
ui我已经好几年没有尝试过这个了,但我认为应该可以
(1) 在目录中创建一个名为“www”的文件夹。将应用程序上载到shinyapps.io时,请使用rsconnect上载该文件夹。在该文件夹中,包含字体的.ttf文件
(2) 在闪亮的应用程序中,但在用户界面/服务器调用之外,包括库(extrafont);在应用程序中也加载Fonts()
(3) 在ui/服务器之外的代码中也包含此内容
dir.create(“~/.font”)
file.copy(“www/xkcd.ttf”,“~/.font”)
系统('fc-cache-f~/.font')
这是我以前的例子,我使用的字体是:xkcd.ttf。您将用字体名称替换xkcd
如果这不起作用,请告诉我