Perl minGW与cpan模块
我试图使用perl(ActiveState perl)中的Perl minGW与cpan模块,perl,mingw,cpan,activestate,Perl,Mingw,Cpan,Activestate,我试图使用perl(ActiveState perl)中的Finance::TickerSymbols模块,由于PPM没有它,我在我的minGW控制台上运行了cpan来安装它。 安装进行得很顺利,但是,minGW似乎在中安装了模块 C:\MinGW\msys\1.0\home\ar\.cpan\build\Finance-TickerSymbols-1.03\lib\Finance\ 因此,当我运行perl代码时,会出现以下错误: Can't locate Finance/TickerSymb
Finance::TickerSymbols
模块,由于PPM没有它,我在我的minGW控制台上运行了cpan来安装它。
安装进行得很顺利,但是,minGW似乎在中安装了模块
C:\MinGW\msys\1.0\home\ar\.cpan\build\Finance-TickerSymbols-1.03\lib\Finance\
因此,当我运行perl代码时,会出现以下错误:
Can't locate Finance/TickerSymbols.pm in @INC(@INC contains C:/Perl64/site/lib C:/Perl64/lib .)
当然,编译失败了。
我可以从mingw路径复制并粘贴.pm,但这并不是万能的。有人能建议如何解决这个问题吗。谢谢
编辑:为其他模块运行install,以在minGW中提供install的输出
Running install for module Finance::Curency::Convert
Running make for J/JA/JANW/Finance-Currency-Convert-1.08.tgz
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
ftp://ftp.perl.org/pub/CPAN/authors/id/J/JA/JANW/CHECKSUMS
CPAN: Compress::Zlib loaded ok
Checksum for /home/ar/.cpan/sources/authors/id/J/JA/JANW/Finance-Currency-Convert-1.08.tgz ok
Scanning cache /home/ar/.cpan/build for sizes
Deleting from cache: /home/ar/.cpan/build/GD-2.46 <24.0>10.0 MB>
Deleting from cache: /home/ar/.cpan/build/Finance-TickerSymbols-1.03 <23.5>10.0 MB>
Deleting from cache: /home/ar/.cpan/build/GDTextUtil-0.86 <23.4>10.0 MB>
Deleting from cache: /home/ar/.cpan/build/GDGraph-1.44 <23.2>10.0 MB>
Deleting from cache: /home/ar/.cpan/build/Date-Simple-3.03 <22.6>10.0 MB>
Deleting from cache: /home/ar/.cpan/build/HTML-TableExtract-2.11 <22.4>10.0 MB>
Deleting from cache: /home/ar/.cpan/build/Text-CSV-1.21 <22.2>10.0 MB>
Deleting from cache: /home/ar/.cpan/build/ExtUtils-MakeMaker-6.59 <21.9>10.0 MB>
Deleting from cache: /home/ar/.cpan/build/YAML-Syck-1.17 <19.1>10.0 MB>
Deleting from cache: /home/ar/.cpan/build/Test-Inter-1.03 <18.2>10.0 MB>
Deleting from cache: /home/ar/.cpan/build/Date-Manip-6.25 <18.0>10.0 MB>
Finance-Currency-Convert-1.08/
Finance-Currency-Convert-1.08/MANIFEST
Finance-Currency-Convert-1.08/t/
Finance-Currency-Convert-1.08/t/convert.t
Finance-Currency-Convert-1.08/Makefile.PL
Finance-Currency-Convert-1.08/Changes
Finance-Currency-Convert-1.08/META.yml
Finance-Currency-Convert-1.08/Convert.pm
CPAN.pm: Going to build J/JA/JANW/Finance-Currency-Convert-1.08.tgz
Checking if your kit is complete...
Looks good
Writing Makefile for Finance::Currency::Convert
cp Convert.pm blib/lib/Finance/Currency/Convert.pm
Autosplitting blib/lib/Finance/Currency/Convert.pm (blib/lib/auto/Finance/Currency/Convert)
/bin/make -- OK
Running make test
/usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib','blib/arch')"t/*.txt
t/convert....ok
All tests successful.
Files=1, Tests=8, 0 wallclock secs ( 0.03 cusr + 0.03 csys = 0.06 CPU)
/bin/make/test --OK
Running make install
Installing /usr/lib/perl5/site_perl/5.8/auto/Finance/Currency/Convert/autosplit.ix
Installing /usr/lib/perl5/site_perl/5.8/auto/Finance/Currency/Convert.pm
Writing /usr/lib/perl5/site_perl/5.8/auto/Finance/Currency/Convert/.packlist
Appending installation info to /usr/lib/perl5/5.8/msys/perllocal.pod
/bin/make/install -- OK
正在为模块Finance::Curency::Convert运行安装
为J/JA/JANW/Finance-Currency-Convert-1.08.tgz运行make
CPAN:LWP::UserAgent已加载正常
使用LWP获取:
ftp://ftp.perl.org/pub/CPAN/authors/id/J/JA/JANW/CHECKSUMS
CPAN:Compress::Zlib加载正常
/home/ar/.cpan/sources/authors/id/J/JA/JANW/Finance-Currency-Convert-1.08.tgz的校验和ok
扫描cache/home/ar/.cpan/build中的大小
从缓存中删除:/home/ar/.cpan/build/GD-2.46 10.0 MB>
从缓存中删除:/home/ar/.cpan/build/Finance-TickerSymbols-1.03 10.0 MB>
从缓存中删除:/home/ar/.cpan/build/GDTextUtil-0.86 10.0 MB>
从缓存中删除:/home/ar/.cpan/build/GDGraph-1.44 10.0 MB>
从缓存中删除:/home/ar/.cpan/build/Date-Simple-3.03 10.0 MB>
从缓存中删除:/home/ar/.cpan/build/HTML-TableExtract-2.11 10.0 MB>
从缓存中删除:/home/ar/.cpan/build/Text-CSV-1.21 10.0 MB>
从缓存中删除:/home/ar/.cpan/build/ExtUtils-MakeMaker-6.59 10.0 MB>
从缓存中删除:/home/ar/.cpan/build/YAML-Syck-1.17 10.0 MB>
从缓存中删除:/home/ar/.cpan/build/Test-Inter-1.03 10.0 MB>
从缓存中删除:/home/ar/.cpan/build/Date-Manip-6.25 10.0 MB>
财务-货币-转换-1.08/
财务-货币-转换-1.08/MANIFEST
Finance-Currency-Convert-1.08/t/
Finance-Currency-Convert-1.08/t/Convert.t
Finance-Currency-Convert-1.08/Makefile.PL
Finance-Currency-Convert-1.08/Changes
Finance-Currency-Convert-1.08/META.yml
Finance-Currency-Convert-1.08/Convert.pm
CPAN.pm:准备构建J/JA/JANW/Finance-Currency-Convert-1.08.tgz
正在检查您的工具包是否完整。。。
看起来不错
正在为Finance::Currency::Convert写入Makefile
cp Convert.pm blib/lib/Finance/Currency/Convert.pm
自动拆分blib/lib/Finance/Currency/Convert.pm(blib/lib/auto/Finance/Currency/Convert)
/bin/make——好的
运行make测试
/usr/bin/perl.exe“-MExtUtils::Command::MM”“-e”“测试线束(0,'blib/lib','blib/arch')”t/*.txt
转换…好的
所有测试均成功。
文件=1,测试=8,0个时钟秒(0.03 cusr+0.03 csys=0.06 CPU)
/箱子/制造/测试-正常
运行make安装
正在安装/usr/lib/perl5/site_perl/5.8/auto/Finance/Currency/Convert/autosplit.ix
正在安装/usr/lib/perl5/site_perl/5.8/auto/Finance/Currency/Convert.pm
正在编写/usr/lib/perl5/site_perl/5.8/auto/Finance/Currency/Convert/.packlist
将安装信息附加到/usr/lib/perl5/5.8/msys/perllocal.pod
/bin/make/install—正常
您需要转到PPM并安装 然后,转到命令行,运行
cpan
。然后安装Finance::TickerSymbols。ActiveState的,并在必要时安装它。之后,它将下载并构建Finance::TickerSymbols
模块
如果这不起作用,请在Perl脚本中使用use lib
pragma指定加载这些模块的目录:
use lib qw(/usr/lib/perl5/5.8 /usr/lib/perl5/site_perl/5.8);
是的,没错,模块实际上在/usr/lib/perl5
中。如果您查看输出,您将看到模块是在C:\MinGW\msys\1.0\home\ar\.cpan\build\
中构建的,但是如果您查看日志的末尾,您将看到它们安装在/usr/lib/perl5/site\u perl/5.8
Running make install
Installing /usr/lib/perl5/site_perl/5.8/auto/Finance/Currency/Convert/autosplit.ix
Installing /usr/lib/perl5/site_perl/5.8/auto/Finance/Currency/Convert.pm
Writing /usr/lib/perl5/site_perl/5.8/auto/Finance/Currency/Convert/.packlist
Appending installation info to /usr/lib/perl5/5.8/msys/perllocal.pod
/bin/make/install -- OK
你能做的最后一件事(如果没有其他办法)是切换到。这是使用CPAN模块所需的一切。拉里·沃尔就是这么用的。草莓Perl从CPAN存档中安装该模块没有问题。这不是最好的修复方法,但是在
使用
有问题的包之前,您可以在Perl脚本中修改@INC
。我认为这只是构建模块时使用的临时位置,所以看起来它没有安装(如果这是系统上唯一的位置)。您可能希望尝试从正常的命令窗口运行CPAN来安装。@jswolf19,您的意思是包括minGW位置。既然您有安装问题,也许您应该准确地复制您所做的。@itcplpl,说它“正常”完全没有帮助,因为它显然没有。从您提供的信息中,我唯一的猜测是MinGW安装了自己的Perl,您为该Perl安装了模块。请重新安装,并提供输出?您可能必须强制获取Finance::TickerSymbols
(来自cpan
shell)在执行install Finance::TickerSymbols
之前,请安全地说服它重新安装已安装的模块。在安装minGW之前,我已经安装了CPAN、CPAN Meta和CPAN Meta YAML(通过PPM),这就是为什么当我从Windows cmd运行CPAN时,需要我安装minGW。我只是从Windows cmd(而不是minGW)运行安装现在它似乎已经起作用了。那么,这是否意味着,将来我应该在Windows cmd上使用cpan而不是minGW?@itcplpl:是的。只需在cmd.exe shell下的Windows控制台上运行cpan
。如果需要,它将安装minGW,然后继续安装包。问题是minGW正在/usr中安装它/lib/perl
这是我认为Linux中perl库所在的位置。然而,ActivePerl并不是在寻找它们。