无Root权限共享HPC集群中R的tcltk与rlang包问题排查
无Root权限HPC集群R包安装问题解决方案
1. 绕过CRAN镜像交互选择(解决tcltk报错)
安装源码包时直接指定CRAN镜像地址,避免触发需要tcltk的交互选择窗口:
install.packages("rlang", type="source", repos="https://cloud.r-project.org/")
2. 强制R使用系统tcl8.6
启动R前通过环境变量指定系统已有的tcl8.6路径,覆盖R默认的8.5查找路径:
export TCL_LIBRARY=/usr/share/tcl8.6 export TK_LIBRARY=/usr/share/tk8.6 export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
执行上述命令后再启动R,即可正常安装rlang源码包。如果是批量脚本运行,可将这些环境变量配置写在脚本头部。
3. 安装与R3.6.0兼容的rlang旧版本
报错中的R_removeVarFromFrame符号在R3.6.0中不存在,说明当前安装的rlang版本过高,需安装兼容的旧版本(如rlang 0.4.11):
install.packages("https://cran.r-project.org/src/contrib/Archive/rlang/rlang_0.4.11.tar.gz", repos=NULL, type="source")
4. 验证修复效果
安装完成后依次加载包验证:
library(rlang) library(ggplot2) library(caret)
内容的提问来源于stack exchange,提问作者aknodt
相关产品推荐
相关产品推荐

