繁体   English   中英

Perl对象错误:仅通过perl 5.10而不通过perl 5.18才能通过包定位对象方法

[英]Perl objects error: Can't locate object method via package only happens with perl 5.10 not perl 5.18

我试图在这里使用一些OO Perl代码:

https://github.com/Ensembl/ensembl-hive

我在带有perl 5.18的Ubuntu VM上进行了尝试,它的工作原理很吸引人:

sudo apt-get install libjson-perl libdbd-sqlite3-perl libdbi-perl libcapture-tiny-perl sqlite3

git clone https://github.com/Ensembl/ensembl-hive.git

export PATH=$PATH:$HOME/ensembl-hive/scripts

init_pipeline.pl Bio::EnsEMBL::Hive::PipeConfig::AnyCommands_conf -password foobar -hive_driver sqlite -pipeline_db -user foo -user foo

但是,然后我在运行带有Perl 5.10的CentOS的HPC系统上尝试了相同的操作,并且在最后一条命令的末尾出现此错误:

Can't locate object method "name" via package "Bio::EnsEMBL::Hive::Meadow::LSF" at /data/home/user/ensembl-hive/modules/Bio/EnsEMBL/Hive/Valley.pm line 64.

任何想法可能会发生什么?

感谢@srvsh,在您的评论中添加了警告语句,从而发现了真正的问题: Exception in 'require Bio::EnsEMBL::Hive::Meadow::LSF': Can't locate Time/Piece.pm in @INC (...

我安装了Time :: Piece,然后工作了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM