2017-02-16 24 views
0

我试图在cygwin中安装Perl模块,例如在answer中没有成功。我有以下错误:cygwin中不可用的cpan

$ perl -MCPAN -e shell 
Can't locate CPAN.pm in @INC (you may need to install the CPAN module) (@INC contains: /usr/lib/perl5/site_perl/5.22/x86_64-cygwin-threads /usr/lib/perl5/site_perl/5.22 /usr/lib/perl5/vendor_perl/5.22/x86_64-cygwin-threads /usr/lib/perl5/vendor_perl/5.22 /usr/lib/perl5/5.22/x86_64-cygwin-threads /usr/lib/perl5/5.22 .). 
BEGIN failed--compilation aborted. 

我如何获得我的cygwin中的cpan


还有一些额外的细节。其实我的目的是像answer那样安装ack。但是,它没有工作。安装完成后我已经得到了一个错误:

$ ack 
Can't locate filetest.pm in @INC (you may need to install the filetest module) (@INC contains: /usr/lib/perl5/site_perl/5.22/x86_64-cygwin-threads /usr/lib/perl5/site_perl/5.22 /usr/lib/perl5/vendor_perl/5.22/x86_64-cygwin-threads /usr/lib/perl5/vendor_perl/5.22 /usr/lib/perl5/5.22/x86_64-cygwin-threads /usr/lib/perl5/5.22 .) at /home/loom/bin/ack line 218. 
BEGIN failed--compilation aborted at /home/loom/bin/ack line 218. 

以下是我试图找到cpan

$ cpan 
-bash: cpan: command not found 

$ ll /usr/lib/perl5/5.22/CPAN.pm 
ls: cannot access '/usr/lib/perl5/5.22/CPAN.pm': No such file or directory 

$ find /usr/ -name *.pm | grep CPAN 
/usr/lib/perl5/5.22/CPAN/Meta/Converter.pm 
/usr/lib/perl5/5.22/CPAN/Meta/Feature.pm 
/usr/lib/perl5/5.22/CPAN/Meta/History.pm 
/usr/lib/perl5/5.22/CPAN/Meta/Merge.pm 
/usr/lib/perl5/5.22/CPAN/Meta/Prereqs.pm 
/usr/lib/perl5/5.22/CPAN/Meta/Requirements.pm 
/usr/lib/perl5/5.22/CPAN/Meta/Spec.pm 
/usr/lib/perl5/5.22/CPAN/Meta/Validator.pm 
/usr/lib/perl5/5.22/CPAN/Meta/YAML.pm 
/usr/lib/perl5/5.22/CPAN/Meta.pm 
/usr/lib/perl5/5.22/Parse/CPAN/Meta.pm 
+0

这是奇怪的... [perl软件包(https://cygwin.com/packages/x86_64/perl/perl-5.22.3-1)应在'/ usr/lib中安装CPAN.pm/perl5/5.22/CPAN.pm',它位于你的'@ INC'中。如果你做'cpan Foo :: Bar'会发生什么(Foo :: Bar是你想要安装的模块)? – ThisSuitIsBlackNot

+0

谢谢@ThisSuitIsBlackNot。我已经扩展了这个问题 – Loom

+1

TSIBN已经回答了你的问题:它带有'perl-5.22.3-1'软件包。所以(重新)安装该软件包! – ikegami

回答

1

重新安装perl帮助。

$ apt-cyg install perl