在Ubuntu的Catalyst框架中获取编译错误

时间:2011-01-17 19:55:18

标签: perl catalyst

我正在Catalyst框架上构建一个应用程序,我是一个完整的新手。昨天我安装了SQLite,从那时起我收到的错误消息如下:

mohit@mohit-Studio-1555:~$ catalyst.pl
Undefined subroutine &Catalyst::Exception::Base::with called at /usr/share/perl5/Catalyst/Exception.pm line 50.
Compilation failed in require at /usr/share/perl5/Catalyst/Utils.pm line 4.
BEGIN failed--compilation aborted at /usr/share/perl5/Catalyst/Utils.pm line 4.
Compilation failed in require at /usr/share/perl5/Catalyst/Helper.pm line 12.
BEGIN failed--compilation aborted at /usr/share/perl5/Catalyst/Helper.pm line 12.
Compilation failed in require at /usr/bin/catalyst.pl line 26.
BEGIN failed--compilation aborted at /usr/bin/catalyst.pl line 26.

我尝试重新安装,清理并试图谷歌但无法解决。

请帮帮我。可能是什么问题?


升级namespace::clean后,我收到此错误:

The old Moose::Util::MetaRole API (before version 0.94) has been deprecated at /usr/share/perl5/Catalyst/Exception/Basic.pm line 3
Catalyst::Exception::Basic::BEGIN() called at /usr/lib/perl5/MooseX/Role/WithOverloading.pm line 3
eval {...} called at /usr/lib/perl5/MooseX/Role/WithOverloading.pm line 3
require Catalyst/Exception/Basic.pm called at /usr/local/lib/perl/5.10.1/Class/MOP.pm line 114
Class::MOP::__ANON__() called at /usr/local/share/perl/5.10.1/Try/Tiny.pm line 71
eval {...} called at /usr/local/share/perl/5.10.1/Try/Tiny.pm line 67
Try::Tiny::try('CODE(0x8f366b8)', 'Try::Tiny::Catch=REF(0x8e6b9c8)') called at /usr/local/lib/perl/5.10.1/Class/MOP.pm line 125
Class::MOP::load_first_existing_class('Catalyst::Exception::Basic') called at /usr/local/lib/perl/5.10.1/Class/MOP.pm line 137
Class::MOP::load_class('Catalyst::Exception::Basic', undef) called at /usr/local/lib/perl/5.10.1/Moose/Util.pm line 113
Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x8f36458)', undef, 'Catalyst::Exception::Basic') called at /usr/local/lib/perl/5.10.1/Moose/Util.pm line 91

1 个答案:

答案 0 :(得分:4)

您似乎安装了Package::Stash版本,该版本会破坏已安装的namespace::clean版本并且未捕获冲突警告。将namespace :: clean升级到最新版本可以解决您的问题。