perl-module – 使用cpanm安装Perl模块

前端之家收集整理的这篇文章主要介绍了perl-module – 使用cpanm安装Perl模块前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
也许这是一个愚蠢的问题?如果我安装像File这样的模块

cpanm File

它会在File下安装所有内容,比如File:Listing等吗?

解决方法

这不是一个愚蠢的问题,我可以理解你为什么不想尝试它.

但你可以继续做下去

cpanm File

并且很少会发生,因为没有名为File的模块.

CPAN上的模块按分发组织.单个分发可以包含一个或多个相关模块,因此cpanm首先检查哪个分发包含您要求的模块并获取它.

检查该分布的依赖性,如果有任何已经过时或根本没有安装,那么它将依次获取并安装每个分发.最终要么解决所有依赖关系,要么会出现阻止cpanm继续进行的严重错误.

安装所有依赖项后,可以解压缩并安装包含模块的分发.

一切都很好,这是事情的结束,所以简而言之

cpanm File

什么都不安装,因为没有File模块.

cpanm File:Listing

将安装包含File :: Listing的发行版,在撰写本文时,它是GAAS / File-Listing-6.04.tar.gz

该分发也恰好包含这些模块

File::Listing::apache
File::Listing::dosftp
File::Listing::netware
File::Listing::unix
File::Listing::vms

所以cpanm将首先确保所有这些模块的依赖关系得到满足,并在相同的基础上递归递归.

请注意,尝试使用cpan命令可能很有用,该命令具有更全面的命令集.最重要的是,它将按名称或正则表达式列出模块,发行版,作者和包.

输入cpan并获取提示

cpan>

什么时候可以要求

cpan> help

它将列出可用命令的摘要.例如,我可以检查File :: Listing模块

cpan> m File::Listing

看这样的作者,发行版(“CPAN_FILE”),版本等

Module id = File::Listing
    CPAN_USERID  GAAS (Gisle Aas <gisle@ActiveState.com>)
    CPAN_VERSION 6.04
    CPAN_FILE    G/GA/GAAS/File-Listing-6.04.tar.gz
    UPLOAD_DATE  2012-02-15
    MANPAGE      File::Listing - parse directory listing
    INST_FILE    C:\Strawberry\perl\vendor\lib\File\Listing.pm
    INST_VERSION 6.04

我也可以使用正则表达式查找具有相似名称的发行版

cpan> d /File-Listing/

看到有两个匹配的发行版

Distribution    GAAS/File-Listing-6.04.tar.gz
Distribution    PLICEASE/File-Listing-Ftpcopy-0.05.tar.gz
2 items found

我可以看看Gisle Aas的文件列表分发

cpan> d GAAS/File-Listing-6.04.tar.gz

我被告知该发行版的成员模块(“CONTAINSMODS”)等等

Distribution id = G/GA/GAAS/File-Listing-6.04.tar.gz
    CPAN_USERID  GAAS (Gisle Aas <gisle@ActiveState.com>)
    CPAN_VERSION 6.04
    CONTAINSMODS File::Listing File::Listing::apache File::Listing::dosftp File::Listing::netware File::Listing::unix File::Listing::vms
    UPLOAD_DATE  2012-02-15

cpanm没有这样的浏览功能,所以我建议你尝试使用cpan本身并使用m和d命令一段时间,同时使用全名和正则表达式模式.

一旦了解了CPAN存储库的结构,您就会发现cpanm对于一般用途更快更精确.

猜你在找的Perl相关文章