You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose部署rocker Shiny Server无法安装最新shiny包及函数

解决方案

方法1:升级基础镜像(优先推荐)

你当前使用的rocker/shiny-verse:4.0.0内置R版本为4.0.0,已停止支持新版本的shiny及其依赖包,直接更换更高版本的基础镜像即可解决绝大多数依赖问题:

  • 将Dockerfile第一行替换为FROM rocker/shiny-verse:4.3.0(或更高的稳定版本)
  • 高版本R内置的CRAN源可以直接安装最新版shiny、bslib等依赖,无需额外配置

方法2:保留R 4.0.0版本的适配方案

如果必须使用R 4.0.0环境,可通过devtools的install_version函数安装兼容R 4.0.0的对应版本包:

  • shiny 1.6.0适配的bslib版本为0.2.4、cachem版本为1.0.4、htmltools版本为0.5.1.1,依次安装这些版本即可避免依赖报错

修正后的Dockerfile示例(适用R 4.0.0场景)

FROM rocker/shiny-verse:4.0.0

RUN R -e "install.packages('devtools'); \
    devtools::install_version('bslib', version = '0.2.4'); \
    devtools::install_version('cachem', version = '1.0.4'); \
    devtools::install_version('htmltools', version = '0.5.1.1'); \
    devtools::install_version('shiny', version = '1.6.0'); \
    install.packages(c('rmarkdown', 'shinydashboard', 'scales', 'DT', 'zoo', 'plotly', 'data.table','lubridate','Hmisc'))" && \
    cp -R /usr/local/lib/R/site-library/shiny/examples/* /srv/shiny-server/ && \
    chown shiny:shiny /var/lib/shiny-server

EXPOSE 3838
  • 修正了原Dockerfile中RUN命令缺失&&的语法错误,确保所有R命令按顺序执行
  • 所有依赖都安装适配R 4.0.0的版本,不会出现找不到包的报错

验证方式

容器启动后执行以下命令确认shiny版本:

packageVersion("shiny")

返回1.6.0及以上版本即可正常使用moduleServer函数。

内容的提问来源于stack exchange,提问作者LoF10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:15:05