필자는 우분투 컴퓨터에 perl 5.10.1을 설치했습니다. Moose 및 MooseX 익스텐트를 설치하기를 원했기 때문에 aptitude 패키지 관리자로 패키지를 설치했습니다. 여기에 내가 설치 한 모든 패키지는 다음과 같습니다 나는 MooseX :: * 확장명을 사용하는 코드를 실행할 때자동 모드에서 perl MooseX 확장 기능을 사용 하시겠습니까?
$ sudo apt-cache pkgnames | grep moose
libmoosex-singleton-perl
libmoosex-compiletime-traits-perl
libmoosex-types-structured-perl
libmoosex-traits-pluggable-perl
libmoosex-nonmoose-perl
libmoosex-methodattributes-perl
libmoosex-strictconstructor-perl
libmoosex-classattribute-perl
libany-moose-perl
libmoosex-traits-perl
libmoosex-meta-typeconstraint-forcecoercion-perl
libmoosex-attributehelpers-perl
libmoosex-types-set-object-perl
libmoosex-multiinitarg-perl
libmoosex-has-sugar-perl
libmoosex-role-withoverloading-perl
libmoosex-getopt-perl
libmoosex-aliases-perl
libmoosex-types-varianttable-perl
libmoosex-types-datetime-perl
libmoosex-yaml-perl
libmoosex-daemonize-perl
libmoosex-blessed-reconstruct-perl
libmoosex-emulate-class-accessor-fast-perl
libmoosex-poe-perl
libmoose-perl
libmoosex-types-common-perl
libmoosex-async-perl
libmoosex-method-signatures-perl
libmoosex-storage-perl
libmoosex-log-log4perl-perl
libmoose-policy-perl
libmoosex-semiaffordanceaccessor-perl
libmoose-autobox-perl
libmoosex-app-cmd-perl
libmoosex-role-parameterized-perl
libmoosex-params-validate-perl
libmoosex-object-pluggable-perl
libmoosex-declare-perl
libmoosex-lazyrequire-perl
libmoosex-methodattributes
libmoosex-clone-perl
libmoosex-types-perl
libmoosex-types-path-class-perl
내 질문은, 왜 횡설수설을받을 수 있나요입니까? 무음 모드를 활성화하는 방법이 있습니까? 여기에 단지 무스 출력하지만, 원하는 결과에 아무것도 표시되지 않습니다 사용하지만 것은 내가 MooseX :: 선언을 사용하는 경우 내가 무엇을 얻을 수 있습니다 :
$ ./myPerlProg.pl
The old Moose::Util::MetaRole API (before version 0.94) has been deprecated at /usr/local/lib/perl/5.10.1/Moose/Util/MetaRole.pm line 16
Moose::Util::MetaRole::apply_metaclass_roles('for_class', 'MooseX::Method::Signatures', 'attribute_metaclass_roles', 'ARRAY(0x9ec2988)') called at /usr/share/perl5/MooseX/LazyRequire.pm line 15
MooseX::LazyRequire::init_meta('MooseX::LazyRequire', 'for_class', 'MooseX::Method::Signatures', 'metaclass', undef) called at /usr/local/lib/perl/5.10.1/Moose/Exporter.pm line 355
Moose::Exporter::__ANON__('MooseX::LazyRequire') called at /usr/share/perl5/MooseX/Method/Signatures.pm line 10
MooseX::Method::Signatures::BEGIN() called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
eval {...} called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
require MooseX/Method/Signatures.pm called at /usr/share/perl5/MooseX/Declare/Syntax/MethodDeclaration.pm line 5
MooseX::Declare::Syntax::MethodDeclaration::BEGIN() called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
eval {...} called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
require MooseX/Declare/Syntax/MethodDeclaration.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(0x9acde78)', 'Try::Tiny::Catch=REF(0x9a966a8)') called at /usr/local/lib/perl/5.10.1/Class/MOP.pm line 125
Class::MOP::load_first_existing_class('MooseX::Declare::Syntax::MethodDeclaration') called at /usr/local/lib/perl/5.10.1/Class/MOP.pm line 137
Class::MOP::load_class('MooseX::Declare::Syntax::MethodDeclaration', undef) called at /usr/local/lib/perl/5.10.1/Moose/Util.pm line 109
Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x9ac6200)', undef, 'MooseX::Declare::Syntax::MethodDeclaration') called at /usr/local/lib/perl/5.10.1/Moose/Util.pm line 87
Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x9ac6200)', 'MooseX::Declare::Syntax::MethodDeclaration') called at /usr/local/lib/perl/5.10.1/Moose.pm line 58
Moose::with('Moose::Meta::Class=HASH(0x9ac6200)', 'MooseX::Declare::Syntax::MethodDeclaration') called at /usr/local/lib/perl/5.10.1/Moose/Exporter.pm line 294
Moose::with('MooseX::Declare::Syntax::MethodDeclaration') called at /usr/share/perl5/MooseX/Declare/Syntax/Keyword/MethodModifier.pm line 9
require MooseX/Declare/Syntax/Keyword/MethodModifier.pm called at (eval 205) line 1
MooseX::Declare::Syntax::MooseSetup::BEGIN() called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
eval {...} called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
eval 'package MooseX::Declare::Syntax::MooseSetup; use MooseX::Declare::Syntax::Keyword::MethodModifier;' called at /usr/share/perl5/aliased.pm line 50
aliased::_load_alias('MooseX::Declare::Syntax::Keyword::MethodModifier', 'MooseX::Declare::Syntax::MooseSetup') called at /usr/share/perl5/aliased.pm line 20
aliased::import('aliased', 'MooseX::Declare::Syntax::Keyword::MethodModifier') called at /usr/share/perl5/MooseX/Declare/Syntax/MooseSetup.pm line 8
MooseX::Declare::Syntax::MooseSetup::BEGIN() called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
eval {...} called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
require MooseX/Declare/Syntax/MooseSetup.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(0x9ab31c8)', 'Try::Tiny::Catch=REF(0x9a8e398)') called at /usr/local/lib/perl/5.10.1/Class/MOP.pm line 125
Class::MOP::load_first_existing_class('MooseX::Declare::Syntax::MooseSetup') called at /usr/local/lib/perl/5.10.1/Class/MOP.pm line 137
Class::MOP::load_class('MooseX::Declare::Syntax::MooseSetup', undef) called at /usr/local/lib/perl/5.10.1/Moose/Util.pm line 109
Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x9a054b8)', undef, 'MooseX::Declare::Syntax::MooseSetup', 'MooseX::Declare::Syntax::RoleApplication', 'MooseX::Declare::Syntax::Extending') called at /usr/local/lib/perl/5.10.1/Moose/Util.pm line 87
Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x9a054b8)', 'MooseX::Declare::Syntax::MooseSetup', 'MooseX::Declare::Syntax::RoleApplication', 'MooseX::Declare::Syntax::Extending') called at /usr/local/lib/perl/5.10.1/Moose.pm line 58
Moose::with('Moose::Meta::Class=HASH(0x9a054b8)', 'MooseX::Declare::Syntax::MooseSetup', 'MooseX::Declare::Syntax::RoleApplication', 'MooseX::Declare::Syntax::Extending') called at /usr/local/lib/perl/5.10.1/Moose/Exporter.pm line 294
Moose::with('MooseX::Declare::Syntax::MooseSetup', 'MooseX::Declare::Syntax::RoleApplication', 'MooseX::Declare::Syntax::Extending') called at /usr/share/perl5/MooseX/Declare/Syntax/Keyword/Class.pm line 7
require MooseX/Declare/Syntax/Keyword/Class.pm called at (eval 1) line 1
MooseX::Declare::BEGIN() called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
eval {...} called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
eval 'package MooseX::Declare; use MooseX::Declare::Syntax::Keyword::Class;' called at /usr/share/perl5/aliased.pm line 50
aliased::_load_alias('MooseX::Declare::Syntax::Keyword::Class', 'MooseX::Declare') called at /usr/share/perl5/aliased.pm line 20
aliased::import('aliased', 'MooseX::Declare::Syntax::Keyword::Class', 'ClassKeyword') called at /usr/share/perl5/MooseX/Declare.pm line 6
MooseX::Declare::BEGIN() called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
eval {...} called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
require MooseX/Declare.pm called at ./myPerlProg10.pl line 3
main::BEGIN() called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
eval {...} called at /usr/share/perl5/MooseX/LazyRequire.pm line 10
Variable "$class" is not imported at ./myPerlProg10.pl line 12.
우수 ... moose와 mooseX와 관련된 패키지를 모두 제거했습니다. 그러나 패키지 관리자 (perl, perl-base 및 perl-modules)를 통해 perl을 설치했으며 버전은 5.10.1-8ubuntu2입니다. CPAN 셸에서 Moose 및 MooseX를 설치하면 문제가 발생합니까? –
@Kaeso, 나는 그것이 문제가되어야한다고 생각하지 않는다. – cjm
또한 "MooseX :: * extensions"는 절대로 선별되지 않습니다. 그들은 무스 (Moose)에 의한 사용 중단에 대한 최신 정보 일 수도 있고 아닐 수도 있습니다. 무스 코어 팀은 우리가 이미 취한 조치 (릴리스 전에 모든 다운 스트림 모듈의 변경 사항을 테스트하고 그러한 변경 사항이 많은 커뮤니티에 알리는 등)을 넘어서이를 시행 할 방법이 없거나 원하는 것은 아닙니다. – perigrin