Fra*_*ank 5 cpan perl-module cpanm
也许这是一个愚蠢的问题?如果我安装一个像File使用的模块
cpanm File
Run Code Online (Sandbox Code Playgroud)
将它安装下的一切File,喜欢File:Listing等?
这不是一个愚蠢的问题,我可以理解你为什么不想尝试它.
但你可以继续做下去
cpanm File
Run Code Online (Sandbox Code Playgroud)
并且很少会发生,因为没有一个模块被称为File.
CPAN上的模块按分发组织.单个分发可以包含一个或多个相关模块,因此cpanm首先检查哪个分发包含您要求的模块并获取它.
检查该分布的依赖性,如果有任何已经过时或根本没有安装,那么它将依次获取并安装每个分发.最终要么解决所有依赖关系,要么会出现一个停止cpanm继续进行的严重错误.
安装所有依赖项后,可以解压缩并安装包含模块的分发.
一切都很好,这是事情的结束,所以简而言之
cpanm File
Run Code Online (Sandbox Code Playgroud)
什么都不会安装,因为没有File模块.
cpanm File:Listing
Run Code Online (Sandbox Code Playgroud)
将安装包含的分发,File::Listing在撰写本文时GAAS/File-Listing-6.04.tar.gz
该分发也恰好包含这些模块
File::Listing::apache
File::Listing::dosftp
File::Listing::netware
File::Listing::unix
File::Listing::vms
Run Code Online (Sandbox Code Playgroud)
因此,cpanm首先要确保所有这些模块的依赖关系都得到满足,并在相同的基础上递归递归.
请注意,尝试使用cpan具有更全面命令集的命令可能很有用.最重要的是,它将按名称或正则表达式列出模块,发行版,作者和包.
输入cpan并获取提示
cpan>
Run Code Online (Sandbox Code Playgroud)
什么时候可以要求
cpan> help
Run Code Online (Sandbox Code Playgroud)
它将列出可用命令的摘要.例如,我可以检查File::Listing模块
cpan> m File::Listing
Run Code Online (Sandbox Code Playgroud)
看这样的作者,发行版("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
Run Code Online (Sandbox Code Playgroud)
我也可以使用正则表达式查找具有相似名称的发行版
cpan> d /File-Listing/
Run Code Online (Sandbox Code Playgroud)
看到有两个匹配的发行版
Distribution GAAS/File-Listing-6.04.tar.gz
Distribution PLICEASE/File-Listing-Ftpcopy-0.05.tar.gz
2 items found
Run Code Online (Sandbox Code Playgroud)
我可以看看Gisle Aas的File-Listing发行版
cpan> d GAAS/File-Listing-6.04.tar.gz
Run Code Online (Sandbox Code Playgroud)
我被告知该发行版的成员模块("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
Run Code Online (Sandbox Code Playgroud)
cpanm没有这样的浏览设施,所以我建议你试验一下cpan自己,并使用m和d命令一段时间,同时使用全名和正则表达式模式.
一旦了解了CPAN存储库的结构,您就会发现cpanm更快,更精确的一般用途.
| 归档时间: |
|
| 查看次数: |
1481 次 |
| 最近记录: |