我正在使用
从perl-cgi打电话 my $call = qx(Rscript tcga_analysis.R $bg_name $ctr_name $set $user);
当我在服务器上使用unix的Rscript myRscript.R
时,它可以工作但是从perl我似乎无法加载任何包。我收到以下错误(来自Apache日志):
Error in library(gplots) : there is no package called 'gplots'
使用.libPaths():
> .libPaths()
[1] "/home/sbattaglia/R/x86_64-redhat-linux-gnu-library/3.1"
[2] "/usr/lib64/R/library"
[3] "/usr/share/R/library"
在主文件夹中显示我的个人图书馆。
我尝试使用
library(gplots, lib.loc="/home/sbattaglia/R/x86_64-redhat-linux-gnu-library/3.1")
但我得到一个lib.loc error
说没有库树。
我甚至在工作目录中创建了一个包含库路径的.Rprofile
文件,但没有成功。我也尝试添加pos=1
,但没有成功......
但是,如果我打开R并致电library(gplots)
,它就会起作用
我需要让它从perl调用Rscript,因为它是使用Web界面的分析管道的一部分 - > perl-cgi - > R来分析一些数据!
谢谢:)
答案 0 :(得分:0)
我要发布与@floded聊天时提出的答案。
基本上,这些库位于服务器上Apache不可见的文件夹中。
我在.R和.cgi文件所在的位置重新下载了我需要的软件包,指定library(gplots, lib.loc="correctPathToLibrary")
并且它有效:)