[Catalyst] crud example not working
Steve
steve at matsch.com
Mon Jul 26 14:12:29 GMT 2010
Something IS missing - the 'Addresses.pm' module! Actually, I'd be
surprised if it's actually missing, however Perl can't find it for some
reason. I would check the 'package' declaration in your module against
the error. It could be an issue with plurality, likely because a change
was made somewhere along the line in how DBIC handles this. Whatever
the case, perl is looking for that module and can't find it.
On 7/26/2010 8:57 AM, Marc Gamontini wrote:
> hi,
> I tried to install an old CRUD Catalyst example (Rockway's AddressBook
> app, detailed in chapter 3 from his PACKT book) and I got errors.
> I've fully fonctional examples (from the Definitive Guide), like
> SneayCat - thank you, it's an excellent one ! - on the same machine, a
> CentOS 5.5 config with Perl 5.8.8, Catalyst 5.80024 and modules, among
> them :
> Catalyst::Devel is up to date (1.28)
> DBIx::Class is up to date (0.08123).
> Catalyst::Model::DBIC::Schema is up to date (0.43)
> Catalyst::Devel is up to date (1.28).
> Catalyst::Plugin::Authentication is up to date (0.10016).
> Catalyst::Plugin::Authorization::Roles is up to date (0.08).
> Catalyst::Plugin::ConfigLoader is up to date (0.28).
> Catalyst::Plugin::Session is up to date (0.30).
> Catalyst::Plugin::Session::State::Cookie is up to date (0.17).
> Catalyst::Plugin::Session::Store::FastMmap is up to date (0.13).
> Catalyst::Plugin::StackTrace is up to date (0.11).
> Catalyst::Plugin::Static::Simple is up to date (0.29).
> Class::MOP is up to date (1.04)
> I applied changes detailed here
> (/AddressBook::Schema::AddressDB::Result/):
> http://wiki.catalystframework.org/wiki/thebookerrata
> http://lists.scsys.co.uk/pipermail/catalyst/2009-April/021929.html
> It doesn't work for me and i'm lost : I don't understand why the
> component can't be instantiated. Is something missing ?
> Thank you in advance for your help !
> Marc
> Report :
> #script/addressbook_server.pl <http://addressbook_server.pl>
> Couldn't load class (AddressBook) because: Couldn't instantiate
> component "AddressBook::Model::AddressDB", "Couldn't load class
> (AddressBook::Schema::AddressDB) because:
> DBIx::Class::Schema::throw_exception():
> DBIx::Class::Row::throw_exception(): Can't locate
> AddressBook/Schema/AddressDB/Result/Addresses.pm in @INC (@INC
> contains: /root/AddressBook/script/../lib
> /root/perl5/lib/perl5/i386-linux-thread-multi /root/perl5/lib/perl5
> /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl
> /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl
> /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .)
> at /root/perl5/lib/perl5/Class/C3/Componentised.pm line 135.
> Compilation failed in require at
> /root/perl5/lib/perl5/Class/C3/Componentised.pm line 135.
> Compilation failed in require at
> /root/perl5/lib/perl5/Class/C3/Componentised.pm line 135.
> Compilation failed in require at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 114.
> at /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 120
> Class::MOP::__ANON__('DBIx::Class::Schema::throw_exception():
> DBIx::Class::Row::thr...') called at /root/perl5/lib/perl5/Try/Tiny.pm
> line 98
> Try::Tiny::try('CODE(0xaefb290)',
> 'Try::Tiny::Catch=REF(0xaeb31b0)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 125
>
> Class::MOP::load_first_existing_class('AddressBook::Schema::AddressDB') called
> at /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 137
> Class::MOP::load_class('AddressBook::Schema::AddressDB')
> called at /root/perl5/lib/perl5/Catalyst/Model/DBIC/Schema/Types.pm
> line 21
>
> Catalyst::Model::DBIC::Schema::Types::__ANON__('AddressBook::Schema::AddressDB')
> called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Moose/Meta/TypeCoercion.pm
> line 63
>
> Moose::Meta::TypeCoercion::__ANON__('AddressBook::Schema::AddressDB')
> called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Moose/Meta/TypeCoercion.pm
> line 97
>
> Moose::Meta::TypeCoercion::coerce('Moose::Meta::TypeCoercion=HASH(0xae2b0e4)',
> 'AddressBook::Schema::AddressDB') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Moose/Meta/TypeConstraint.pm
> line 90
>
> Moose::Meta::TypeConstraint::coerce('Moose::Meta::TypeConstraint=HASH(0xae6f4dc)',
> 'AddressBook::Schema::AddressDB') called at
> /root/perl5/lib/perl5/MooseX/Types/TypeDecorator.pm line 206
> eval {...} called at
> /root/perl5/lib/perl5/MooseX/Types/TypeDecorator.pm line 205
>
> MooseX::Types::TypeDecorator::AUTOLOAD('MooseX::Types::TypeDecorator=HASH(0xadcaef0)',
> 'AddressBook::Schema::AddressDB') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Moose/Meta/Attribute.pm
> line 742
>
> Moose::Meta::Attribute::_coerce_and_verify('Moose::Meta::Attribute=HASH(0xaeab4e0)',
> 'AddressBook::Schema::AddressDB',
> 'AddressBook::Model::AddressDB=HASH(0xaf55448)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Moose/Meta/Attribute.pm
> line 398
>
> Moose::Meta::Attribute::initialize_instance_slot('Moose::Meta::Attribute=HASH(0xaeab4e0)',
> 'Moose::Meta::Instance=HASH(0xaefb254)',
> 'AddressBook::Model::AddressDB=HASH(0xaf55448)', 'HASH(0xaf55304)')
> called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Class.pm line 567
>
> Class::MOP::Class::_construct_instance('Moose::Meta::Class=HASH(0xadd3528)',
> 'HASH(0xaf55304)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Class.pm line 540
>
> Class::MOP::Class::new_object('Moose::Meta::Class=HASH(0xadd3528)',
> 'HASH(0xaf55304)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Moose/Meta/Class.pm line 256
>
> Moose::Meta::Class::new_object('Moose::Meta::Class=HASH(0xadd3528)',
> 'HASH(0xaf55304)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Moose/Object.pm line 25
> Moose::Object::new('AddressBook::Model::AddressDB',
> 'AddressBook', 'HASH(0xae9ed8c)') called at generated method (unknown
> origin) line 3
>
> Catalyst::Model::DBIC::Schema::new('AddressBook::Model::AddressDB',
> 'AddressBook', 'HASH(0xae9ed8c)') called at
> /root/perl5/lib/perl5/MooseX/Traits/Pluggable.pm line 131
>
> MooseX::Traits::Pluggable::new_with_traits('AddressBook::Model::AddressDB',
> 'AddressBook') called at
> /root/perl5/lib/perl5/CatalystX/Component/Traits.pm line 145
>
> CatalystX::Component::Traits::COMPONENT('AddressBook::Model::AddressDB',
> 'AddressBook', 'HASH(0xaf553a0)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Method/Wrapped.pm
> line 48
>
> Class::MOP::Method::Wrapped::__ANON__('AddressBook::Model::AddressDB',
> 'AddressBook', 'HASH(0xaf553a0)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Method/Wrapped.pm
> line 89
>
> Catalyst::Model::DBIC::Schema::COMPONENT('AddressBook::Model::AddressDB',
> 'AddressBook', 'HASH(0xaf553a0)') called at
> /root/perl5/lib/perl5/Catalyst.pm line 2502
> eval {...} called at /root/perl5/lib/perl5/Catalyst.pm line 2502
> Catalyst::setup_component('AddressBook',
> 'AddressBook::Model::AddressDB') called at
> /root/perl5/lib/perl5/Catalyst.pm line 2416
> Catalyst::setup_components('AddressBook') called at
> /root/perl5/lib/perl5/Catalyst.pm line 1142
> Catalyst::setup('AddressBook') called at
> /root/AddressBook/script/../lib/AddressBook.pm line 42
> require AddressBook.pm called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 114
> Class::MOP::__ANON__() called at
> /root/perl5/lib/perl5/Try/Tiny.pm line 71
> eval {...} called at /root/perl5/lib/perl5/Try/Tiny.pm line 67
> Try::Tiny::try('CODE(0x9f9cd50)',
> 'Try::Tiny::Catch=REF(0xa74b390)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 125
> Class::MOP::load_first_existing_class('AddressBook') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 137
> Class::MOP::load_class('AddressBook') called at
> /root/perl5/lib/perl5/Catalyst/ScriptRole.pm line 61
>
> Catalyst::ScriptRole::_run_application('Catalyst::Script::Server=HASH(0xa7726f4)')
> called at /root/perl5/lib/perl5/Catalyst/Script/Server.pm line 181
>
> Catalyst::Script::Server::run('Catalyst::Script::Server=HASH(0xa7726f4)')
> called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Method/Wrapped.pm
> line 48
>
> Class::MOP::Method::Wrapped::__ANON__('Catalyst::Script::Server=HASH(0xa7726f4)')
> called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Method/Wrapped.pm
> line 89
>
> Catalyst::Script::Server::run('Catalyst::Script::Server=HASH(0xa7726f4)')
> called at /root/perl5/lib/perl5/Catalyst/ScriptRunner.pm line 20
> Catalyst::ScriptRunner::run('Catalyst::ScriptRunner',
> 'AddressBook', 'Server') called at script/addressbook_server.pl
> <http://addressbook_server.pl> line 8
> at /root/perl5/lib/perl5/MooseX/Types/TypeDecorator.pm line 208
>
> MooseX::Types::TypeDecorator::AUTOLOAD('MooseX::Types::TypeDecorator=HASH(0xadcaef0)',
> 'AddressBook::Schema::AddressDB') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Moose/Meta/Attribute.pm
> line 742
>
> Moose::Meta::Attribute::_coerce_and_verify('Moose::Meta::Attribute=HASH(0xaeab4e0)',
> 'AddressBook::Schema::AddressDB',
> 'AddressBook::Model::AddressDB=HASH(0xaf55448)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Moose/Meta/Attribute.pm
> line 398
>
> Moose::Meta::Attribute::initialize_instance_slot('Moose::Meta::Attribute=HASH(0xaeab4e0)',
> 'Moose::Meta::Instance=HASH(0xaefb254)',
> 'AddressBook::Model::AddressDB=HASH(0xaf55448)', 'HASH(0xaf55304)')
> called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Class.pm line 567
>
> Class::MOP::Class::_construct_instance('Moose::Meta::Class=HASH(0xadd3528)',
> 'HASH(0xaf55304)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Class.pm line 540
>
> Class::MOP::Class::new_object('Moose::Meta::Class=HASH(0xadd3528)',
> 'HASH(0xaf55304)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Moose/Meta/Class.pm line 256
>
> Moose::Meta::Class::new_object('Moose::Meta::Class=HASH(0xadd3528)',
> 'HASH(0xaf55304)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Moose/Object.pm line 25
> Moose::Object::new('AddressBook::Model::AddressDB',
> 'AddressBook', 'HASH(0xae9ed8c)') called at generated method (unknown
> origin) line 3
>
> Catalyst::Model::DBIC::Schema::new('AddressBook::Model::AddressDB',
> 'AddressBook', 'HASH(0xae9ed8c)') called at
> /root/perl5/lib/perl5/MooseX/Traits/Pluggable.pm line 131
>
> MooseX::Traits::Pluggable::new_with_traits('AddressBook::Model::AddressDB',
> 'AddressBook') called at
> /root/perl5/lib/perl5/CatalystX/Component/Traits.pm line 145
>
> CatalystX::Component::Traits::COMPONENT('AddressBook::Model::AddressDB',
> 'AddressBook', 'HASH(0xaf553a0)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Method/Wrapped.pm
> line 48
>
> Class::MOP::Method::Wrapped::__ANON__('AddressBook::Model::AddressDB',
> 'AddressBook', 'HASH(0xaf553a0)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Method/Wrapped.pm
> line 89
>
> Catalyst::Model::DBIC::Schema::COMPONENT('AddressBook::Model::AddressDB',
> 'AddressBook', 'HASH(0xaf553a0)') called at
> /root/perl5/lib/perl5/Catalyst.pm line 2502
> eval {...} called at /root/perl5/lib/perl5/Catalyst.pm line 2502
> Catalyst::setup_component('AddressBook',
> 'AddressBook::Model::AddressDB') called at
> /root/perl5/lib/perl5/Catalyst.pm line 2416
> Catalyst::setup_components('AddressBook') called at
> /root/perl5/lib/perl5/Catalyst.pm line 1142
> Catalyst::setup('AddressBook') called at
> /root/AddressBook/script/../lib/AddressBook.pm line 42
> require AddressBook.pm called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 114
> Class::MOP::__ANON__() called at
> /root/perl5/lib/perl5/Try/Tiny.pm line 71
> eval {...} called at /root/perl5/lib/perl5/Try/Tiny.pm line 67
> Try::Tiny::try('CODE(0x9f9cd50)',
> 'Try::Tiny::Catch=REF(0xa74b390)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 125
> Class::MOP::load_first_existing_class('AddressBook') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 137
> Class::MOP::load_class('AddressBook') called at
> /root/perl5/lib/perl5/Catalyst/ScriptRole.pm line 61
>
> Catalyst::ScriptRole::_run_application('Catalyst::Script::Server=HASH(0xa7726f4)')
> called at /root/perl5/lib/perl5/Catalyst/Script/Server.pm line 181
>
> Catalyst::Script::Server::run('Catalyst::Script::Server=HASH(0xa7726f4)')
> called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Method/Wrapped.pm
> line 48
>
> Class::MOP::Method::Wrapped::__ANON__('Catalyst::Script::Server=HASH(0xa7726f4)')
> called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Method/Wrapped.pm
> line 89
>
> Catalyst::Script::Server::run('Catalyst::Script::Server=HASH(0xa7726f4)')
> called at /root/perl5/lib/perl5/Catalyst/ScriptRunner.pm line 20
> Catalyst::ScriptRunner::run('Catalyst::ScriptRunner',
> 'AddressBook', 'Server') called at script/addressbook_server.pl
> <http://addressbook_server.pl> line 8"Compilation failed in require at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 114.
> at /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 120
> Class::MOP::__ANON__('Couldn\'t instantiate component
> "AddressBook::Model::AddressD...') called at
> /root/perl5/lib/perl5/Try/Tiny.pm line 98
> Try::Tiny::try('CODE(0x9f9cd50)',
> 'Try::Tiny::Catch=REF(0xa74b390)') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 125
> Class::MOP::load_first_existing_class('AddressBook') called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP.pm line 137
> Class::MOP::load_class('AddressBook') called at
> /root/perl5/lib/perl5/Catalyst/ScriptRole.pm line 61
>
> Catalyst::ScriptRole::_run_application('Catalyst::Script::Server=HASH(0xa7726f4)')
> called at /root/perl5/lib/perl5/Catalyst/Script/Server.pm line 181
>
> Catalyst::Script::Server::run('Catalyst::Script::Server=HASH(0xa7726f4)')
> called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Method/Wrapped.pm
> line 48
>
> Class::MOP::Method::Wrapped::__ANON__('Catalyst::Script::Server=HASH(0xa7726f4)')
> called at
> /root/perl5/lib/perl5/i386-linux-thread-multi/Class/MOP/Method/Wrapped.pm
> line 89
>
> Catalyst::Script::Server::run('Catalyst::Script::Server=HASH(0xa7726f4)')
> called at /root/perl5/lib/perl5/Catalyst/ScriptRunner.pm line 20
> Catalyst::ScriptRunner::run('Catalyst::ScriptRunner',
> 'AddressBook', 'Server') called at script/addressbook_server.pl
> <http://addressbook_server.pl> line 8
>
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>
More information about the Catalyst
mailing list