部署R Shiny应用时randomForestSRC库加载失败问题求助
问题描述
Shiny应用使用randomForestSRC库,本地运行正常,但上传至手动部署的在线服务器时,加载该库出现以下错误:
su: ignore --preserve-environment, it's mutually exclusive to --login. Warning: package ‘randomForestSRC’ was built under R version 4.3.1 Error: package or namespace load failed for ‘randomForestSRC’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]): namespace ‘htmltools’ 0.5.2 is already loaded, but >= 0.5.4 is required Execution halted
系统显示已加载旧版本htmltools,但已安装最新版本。单独加载htmltools时出现以下错误:
su: ignore --preserve-environment, it's mutually exclusive to --login. Warning: package ‘htmltools’ was built under R version 4.3.0 Error in value[[3L]](cond) : Package ‘htmltools’ version 0.5.2 cannot be unloaded: Error in unloadNamespace(package) : namespace ‘htmltools’ is imported by ‘shiny’ so cannot be unloaded Calls: runApp ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous> Execution halted
已安装最新版shiny及shinydashboard、shinyjs、shinycssloaders等依赖库,本地无冲突,但服务器端出现版本依赖问题,需排查思路。
排查思路
- 核对本地与服务器的R版本:
randomForestSRC、htmltools等库是基于特定R版本编译的,服务器R版本过低可能引发兼容问题。执行R --version对比两端版本,若服务器版本落后,升级服务器R版本。 - 检查服务器库路径优先级:服务器可能存在多套R库路径,旧版库可能在系统默认路径,而你安装的新版在自定义路径。运行
.libPaths()查看加载顺序,确保自定义路径优先级更高;或获取管理员权限,将新版库安装到系统默认路径。 - 强制重装所有关联库:在服务器上彻底卸载旧版相关库,再重新安装最新版,避免残留文件干扰:
注意:卸载前确认无其他应用依赖这些旧库,防止影响其他服务。# 卸载旧库 remove.packages(c("htmltools", "shiny", "shinydashboard", "shinyjs", "shinycssloaders", "randomForestSRC")) # 重新安装最新版 install.packages(c("htmltools", "shiny", "shinydashboard", "shinyjs", "shinycssloaders", "randomForestSRC")) - 排查服务器启动脚本与全局配置:部署启动脚本或服务器全局R配置文件(如
~/.Rprofile、/etc/R/Rprofile.site)可能自动加载旧版shiny或htmltools。检查这些文件,移除自动加载旧库的配置,确保应用启动时优先加载新版库。 - 用独立环境隔离依赖:使用
renv为该Shiny应用创建独立R库环境,避免与服务器全局库冲突:- 本地项目中执行
renv::init()初始化环境 - 安装所有依赖后执行
renv::snapshot()锁定版本 - 将
renv文件夹与项目文件一同上传至服务器 - 服务器端执行
renv::restore()恢复依赖环境,再启动应用
- 本地项目中执行
- 验证服务器库的实际版本:在服务器R终端执行以下命令,确认安装的库版本是否符合预期:
若显示旧版,说明安装未生效,需检查安装命令输出是否有错误,或是否具备库路径写入权限。packageVersion("htmltools") packageVersion("shiny") packageVersion("randomForestSRC")
内容的提问来源于stack exchange,提问作者Dan W
相关产品推荐
相关产品推荐

