2011-01-17 1 views
0

Я создаю приложение на основе Catalyst, и я полный новичок в нем. Вчера я установил SQLite и с тех пор я получаю сообщение об ошибке, как:Получение ошибок компиляции в платформе Catalyst в Ubuntu

[email protected]:~$ 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. 

Я попытался переустановить, очистки и попытался Google это, но не в состоянии решить.

Пожалуйста, помогите мне. В чем проблема?


После обновления 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 

ответ

4

Похоже, что вы установили версию Package::Stash который нарушает вашу установленную версию namespace::clean и не поймать предупреждения конфликтов. Обновление пространства имен :: очистка до последней версии должно решить ваши проблемы.

+0

Спасибо за ответ, но после обновления у меня возникла новая проблема. –

+0

Это не ошибка, это предупреждение, и вы должны задать новый вопрос, если у вас есть новый вопрос, но обновите MooseX :: Role :: WithOverloading. – hobbs