shinydashboardPlusGallery()示例运行失败的技术求助
看起来你遇到的问题主要来自两个方面:Font Awesome图标名称不兼容和函数参数不匹配,下面是具体的分析和解决方案:
问题原因分析
Font Awesome图标错误
你看到的'fa fa-angle-down'、'gears'、'clock-o'这些图标不存在的报错,是因为新版本的fontawesome包(Shiny生态默认使用Font Awesome 5+)不再支持Font Awesome 4的旧图标命名规则,比如clock-o在FA5里已经改为clock,fa-angle-down需要去掉fa前缀只用angle-down。而旧版的shinydashboardPlus演示代码还在使用这些旧名称。函数参数不兼容
报错里的unused arguments (md = FALSE, controlbar = ..., footer = ...)是因为这些参数属于shinydashboardPlus特有的dashboardPagePlus()函数,而旧版的演示代码错误地调用了原生shinydashboard的dashboardPage()函数,后者并不支持这些参数。
解决方案:安装开发版的shinydashboard和shinydashboardPlus
CRAN上的稳定版可能没有及时适配新版本的Shiny和Font Awesome,安装GitHub上的开发版可以解决这些兼容性问题:
- 先卸载现有的相关包:
remove.packages(c("shinydashboard", "shinydashboardPlus"))
- 安装
devtools(如果还没装):
install.packages("devtools")
- 从GitHub安装开发版的包:
devtools::install_github("RinteRface/shinydashboard") devtools::install_github("RinteRface/shinydashboardPlus")
- 重新加载包并运行演示:
library(shiny) library(shinydashboard) library(shinydashboardPlus) shinydashboardPlusGallery()
额外提示
如果还是遇到图标相关的问题,可以在调用icon()函数时加上verify_fa = FALSE来跳过图标验证(不过安装开发版后这个问题应该已经解决了)。另外,确保你的R和相关依赖包都是较新的版本,避免因版本差异导致的兼容性问题。
内容的提问来源于stack exchange,提问作者Faizan Khalid Mohsin

