Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl minGW与cpan模块_Perl_Mingw_Cpan_Activestate - Fatal编程技术网

Perl minGW与cpan模块

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

我试图使用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/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并不是在寻找它们。