컨텍스트 여기설치된 모듈을 찾을 수 없습니다
당신이 AnyEvent
와 특정 이벤트 루프를 사용하는 방법을보고 싶어하는 펄 테스트 스크립트입니다 :
# file test.pl :
#!/usr/bin/perl
use strict;
use warnings;
use AnyEvent;
use AnyEvent::Impl::EV;
my $cv = AnyEvent->condvar;
my $wait_one_and_a_half_seconds = AnyEvent->timer (
after => 0.5, # after how many seconds to invoke the cb?
cb => sub { # the callback to invoke
print ("Hello from callback\n");
$cv->send;
},
);
# now wait till our time has come
$cv->recv;
문제
위 코드를 실행할 때 나타나는 오류는 다음과 같습니다.
$ perl test.pl
Can't locate EV.pm in @INC (you may need to install the EV module) (@INC
contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18
/usr/local/lib/site_perl .) at /usr/local/lib/perl/5.18.2/AnyEvent/Impl/EV.pm
line 28.
BEGIN failed--compilation aborted at /usr/local/lib/perl/5.18.2/AnyEvent/Impl/EV.pm line 28.
Compilation failed in require at test.pl line 6.
BEGIN failed--compilation aborted at test.pl line 6.
(210)는 그러나 나는 cpanm
를 사용하여 AnyEvent
패키지를 설치하고, AnyEvent/Impl/EV.pm
파일은 @INC
경로 중 하나에 존재 :
가 어떻게이 문제를 해결 할
$ ls /usr/local/lib/perl/5.18.2/AnyEvent/Impl/
Cocoa.pm Event.pm FLTK.pm IOAsync.pm Perl.pm Qt.pm UV.pm
EventLib.pm EV.pm Glib.pm Irssi.pm POE.pm Tk.pm
질문?
추가 발언
오류 메시지가 EV.pm
를 찾고 있습니다,하지만 난 AnyEvent/Impl/EV.pm
을 예상 한 것이라고 말했습니다.
내가 쓴 use AnyEvent::Impl::EV;
은 (는) 런타임에 perl is looking for EV.pm
으로 바뀌 었습니다.
및 소유권/권한은 그 디렉토리에 같은 점은 무엇입니까? – Sobrique
@Sobrique : 권한은 괜찮습니다. 사용자는 내 계정이고 경로는 누구에게나 열려 있습니다. – LeGEC
오, 아마도 잘못된 것입니다 :'#!/usr/bin/perl' -'/ usr/local'을 사용하고 있습니다. – Sobrique