conda环境RStudio加载Seurat包缺失GLIBCXX_3.4.26无sudo权限求解决
解决方案
方法1:临时指定动态库搜索路径启动RStudio
每次使用前在终端按顺序执行以下操作即可:
- 首先激活目标conda环境
conda activate test2 - 将conda环境的lib目录添加到动态库搜索路径的最优先级
export LD_LIBRARY_PATH=/wdata/msmuhammad/workbench/miniconda3/envs/test2/lib:$LD_LIBRARY_PATH - 在当前终端窗口启动RStudio
rstudio
验证:启动RStudio后在控制台执行system("echo $LD_LIBRARY_PATH"),输出首位为上述conda环境的lib目录即配置生效,此时加载Seurat包即可正常运行
方法2:固化配置无需每次手动输入
如果不想每次启动都执行命令,可任选以下一种方案固化配置:
方案A:修改R启动配置文件
在conda环境激活状态下打开R控制台,执行命令找到用户配置文件路径:Sys.getenv("R_PROFILE_USER")
如果文件不存在就手动新建,在文件末尾添加如下内容:Sys.setenv(LD_LIBRARY_PATH = "/wdata/msmuhammad/workbench/miniconda3/envs/test2/lib:${LD_LIBRARY_PATH}")
保存后重启RStudio即可永久生效。
方案B:创建自定义RStudio启动脚本
新建文本文件命名为rstudio_test2.sh,写入以下内容:
#!/bin/bash conda activate test2 export LD_LIBRARY_PATH=/wdata/msmuhammad/workbench/miniconda3/envs/test2/lib:$LD_LIBRARY_PATH rstudio
给脚本添加执行权限:chmod +x rstudio_test2.sh
后续需要使用对应环境的RStudio时,直接运行该脚本即可。
生效验证
配置完成后在RStudio控制台执行:system("strings /proc/$PPID/maps | grep libstdc++.so.6")
输出路径显示为conda环境内的libstdc++.so.6即为配置成功,不会再报GLIBCXX版本缺失错误。
内容的提问来源于stack exchange,提问作者Muhammad Elsadany
相关产品推荐
相关产品推荐

