我在R,bioconductor中使用sRAP包。我收到这个错误:
> logVals<-RNA.norm(paste0( ResultsDirectory,batch,'_only'), paste0(ResultsDirectory,'RPKM_logs'),ResultsDirectory)
Can't locate Compress/Raw/Zlib.pm in @INC (@INC contains: /cluster/project8/vyp/cian/support/R/WriteXLS/Perl /home/sejjcmu/bin/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/
Compress/Raw/Zlib.pm /home/sejjcmu/bin/Perl/Compress-Zlib-1.41/Zlib.pm /home/sejjcmu/bin/Perl/Compress-Zlib-1.41 /home/sejjcmu/bin/Perl/Compress-Raw-Zlib-2.068 /home/sejjcmu/bin /sh
are/apps/genomics/vcftools_0.1.8a/perl /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_per
l/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /cluster/pr
oject8/vyp/cian/support/R/WriteXLS/Perl/Archive/Zip.pm line 9.
我对perl不太了解,所以我不明白为什么它说它无法在@INC中找到这个zlib.pm然后继续列出它。我确实安装了该软件包并将其添加到我的bashrc中的PERL5LIB
编辑: R版本3.1.2(2014-10-31) - &#34;南瓜头盔&#34; perl,为x86_64-linux-thread-multi
构建的v5.8.8我尝试了什么。我已经改变了这个调用的R函数,添加了Perl I preamble / Compress / Raw&#39;,它没有用。
答案 0 :(得分:4)
您已将/home/sejjcmu/bin/Perl/Compress-Zlib-1.41/Zlib.pm
添加到@INC
数组中,方法是将其添加到PERL5LIB
环境变量中。但@INC
包含要搜索的路径的列表,其方式与PATH
环境变量类似。正如消息所说,“无法在任何这些目录中找到Compress/Raw/Zlib.pm
”,这是因为/home/sejjcmu/bin/Perl/Compress-Zlib-1.41/Zlib.pm
甚至不是目录
你说你已经安装了软件包,但是没有标准工具可以把文件放在那个位置,所以我相信你一定要复制它,这很大程度上是你遇到问题的原因
如果您想将此模块放在/home/sejjcmu/bin/Perl
中,则应将其安装在/home/sejjcmu/bin/Perl/Compress/Raw/Zlib.pm
,并将/home/sejjcmu/bin/Perl
添加到@INC
阵列
但你真的不应该手动复制Perl模块。您应该首先使用cpan或类似工具正确安装模块。
这是一个可用于将Compress::Raw::Zlib
正确安装到自定义库位置
$ cpan
cpan shell -- CPAN exploration and modules installation (v2.11)
Enter 'h' for help.
cpan> o conf makepl_arg PREFIX=/home/sejjcmu/bin/Perl
cpan> install Compress::Raw::Zlib
答案 1 :(得分:1)
PERL5LIB
不应包含单个模块,而应包含其根目录的路径,即/home/sejjcmu/bin/lib64/perl5/site_perl/5.8.8/
(不需要架构部分)。