2015-08-30 74 views
0

我在R,bioconductor中使用sRAP軟件包。我得到這個錯誤:模塊在@INC中找不到,即使列出了它

> 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的,所以我不明白爲什麼它說,它不能找到這個zlib.pm在@INC,然後繼續列出。我沒有安裝該軟件包,並在我的.bashrc將它添加到PERL5LIB

編輯: [R版本3.1.2(2014年10月31日) - 「南瓜頭盔」 的perl,v5.8.8對於x86_64的-Linux的構建多線程

我試過了。我改變了這個調用的R函數,添加了'Perl I preamble/Compress/Raw',這沒有用。

回答

1

PERL5LIB不應該包含單獨的模塊,但它們的根目錄的路徑,即/home/sejjcmu/bin/lib64/perl5/site_perl/5.8.8/(不應該需要架構部分)。

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陣列

B你真的不應該手工複製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 
相關問題