Docker部署R Shiny Server遇dyn.load错误:libsodium依赖缺失求助
问题原因与解决办法
核心问题
错误提示找不到libsodium.so.23,这是系统级依赖库缺失,并非R包sodium本身的问题——你的R包已安装在挂载的/usr/local/lib/R/site-library目录,但运行时需要容器系统提供对应的libsodium系统库支持。
解决步骤
在Docker容器中安装系统级libsodium库
如果你的Shiny Server镜像是基于Debian/Ubuntu系列,执行以下命令:apt-get update && apt-get install -y libsodium23建议将这一步写入Dockerfile,确保每次构建镜像都包含该依赖:
FROM rocker/shiny:latest # 安装系统依赖 RUN apt-get update && apt-get install -y --no-install-recommends libsodium23 # 其他自定义配置...排查持久化卷的版本冲突
你将/usr/local/lib/R/site-library挂载到宿主机,若R包是在宿主机环境安装的,可能存在依赖的libsodium版本与容器内系统库版本不匹配的情况。确保R包是在容器内部安装,或保证宿主机与容器的系统库版本一致。
内容的提问来源于stack exchange,提问作者DH27
相关产品推荐
相关产品推荐

