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

如何指定R在特定目录查找其他目录安装包的依赖?

在SLURM HPC集群运行R脚本加载个人目录包的问题

我在搭载SLURM作业管理器的HPC集群上运行R脚本,需要使用安装在个人目录的EasyQC包(无法在服务器全局R环境安装)。尝试过以下方法但均无效,总是出现EasyQC找不到依赖(首个依赖为Cairo)的错误:

  • 使用.libPaths()函数指定路径
  • 在bash脚本中导出R_LIBS_USER变量
  • 尝试用.libPaths()和lib.loc参数加载库,但未掌握正确用法

最终我通过加载另一个R模块(r-light)解决了问题,但不清楚其中原理。

相关bash脚本如下:

# Create R script to submit

cat > $HOME/output/easyQ/${input}_cleaning.R <<EOF

#!/usr/bin/env Rscript
HOME='$HOME'
source(paste0(HOME, "/analysis/input.R"))

.libPaths(R_LIBS_USER)
print(.libPaths())
library(EasyQC)
print("EasyQC loaded")

EasyQC(paste0(HOME, "/output/easyQ/${input}_cleaning.ecf"))

EOF


# Submit R script

echo "submit ${input}"

cat > $HOME/output/easyQ/${input}_cleaning.sh <<EOF
#!/bin/bash

#SBATCH --time=32:00:00 
#SBATCH --mem=16G
#SBATCH --job-name=$input
#SBATCH --cpus-per-task=1
#SBATCH --chdir=$HOME/output/easyQ
#SBATCH --output=$HOME/output/log/%x.out
#SBATCH --error=$HOME/output/log/%x.err


# Load packages
module purge
module load r-light

export R_LIBS_USER=Path1:Path2

Rscript --no-save $HOME/output/easyQ/${input}_cleaning.R > $HOME/output/easyQ/${input}_cleaning_batch.log

EOF

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 20:34:55