查找 CPAN 镜像并配置本地 CPAN 镜像列表
CPAN 镜像是在线存储库,托管或“镜像” CPAN 上的 Perl 模块分发。世界上有数百个 CPAN 镜像。当第一次在一台机器上运行 CPAN 程序时,它将配置 CPAN 镜像列表,用于检查模块的新版本并下载 Perl 分发。然而,并非所有 CPAN 镜像都是相同的:分发列表的年龄、速度和地理位置因镜像而异,因此您可能需要重新配置本地 CPAN 镜像列表以满足您的需求。本文将介绍如何查找 CPAN 镜像和编辑本地 CPAN 镜像配置。
查找 CPAN 镜像
您可以在这里找到公共 CPAN 镜像的在线列表。该列表经常更新,并列出位置、使用的方案(ftp、http)、模块列表的年龄和一些测试结果。查看此列表,您会发现一些镜像几天不刷新其模块列表——如果您使用这些镜像,您可能会错过您最喜欢的模块的最新版本!可以在这里找到 JSON 格式的 CPAN 镜像列表。
启动 CPAN 壳
一旦您确定了要使用的 CPAN 镜像的 URL,请打开终端并加载 cpan 壳
cpan
cpan shell -- CPAN exploration and modules installation (v2.00)
Enter 'h' for help.
cpan[1]>
查看本地 CPAN 镜像列表
CPAN 镜像列表存储在“urllist”变量中。要在 CPAN 壳中查看镜像列表,请输入“o conf urllist”
cpan[1]>o conf urllist
urllist
0 [http://httpupdate3.cpanel.net/CPAN/]
1 [http://httpupdate23.cpanel.net/CPAN/]
2 [http://mirrors.servercentral.net/CPAN/]
3 [ftp://cpan.cse.msu.edu/]
添加 CPAN 镜像
要添加 CPAN 镜像,请使用“unshift”或“push”函数将镜像的 URL 添加到镜像列表的开头或末尾。确保镜像的 URL 包含方案(http、ftp)。
cpan[2]> o conf urllist push http://mirror.waia.asn.au/pub/cpan/
删除 CPAN 镜像
要删除 CPAN 镜像,请使用“shift”或“pop”函数从镜像列表的开头或末尾删除镜像 URL
cpan[3]> o conf urllist pop
完全替换现有镜像列表
要使用新镜像列表覆盖现有列表,只需提供新镜像的 URL 作为空格分隔的列表
cpan[4]> o conf urllist http://mirror.waia.asn.au/pub/cpan/ ftp://mirrors.coopvgg.com.ar/CPAN/
保存更改
一旦您已更新 CPAN 镜像列表,请确保将这些更改提交到文件,以便在当前会话之外保存
cpan[5]> o conf commit
commit: wrote '/home/sillymoose/.cpan/CPAN/MyConfig.pm'
直接编辑 CPAN 配置文件
您还可以直接编辑 CPAN 配置文件。对于本地用户 Perl 安装,这是 */CPAN/MyConfig.pm,而对于系统 Perl 安装,这是 */CPAN/Config.pm(父目录取决于平台)。在编辑文件时,urllist 是一个哈希键,指向一个包含镜像 URL 的数组引用。注意,使用 Perl 的引号运算符(“q”)对 URL 进行引号处理。简单编辑并保存文件。
'urllist' => [
q[http://httpupdate3.cpanel.net/CPAN/],
q[http://httpupdate23.cpanel.net/CPAN/],
q[http://mirrors.servercentral.net/CPAN/],
q[ftp://cpan.cse.msu.edu/]
],
本文最初发布于 PerlTricks.com。
标签
反馈
这篇文章有什么问题吗?请在 GitHub 上打开一个问题或拉取请求,帮助我们。
- More commenting... maybe?
github.polettix.it - Perl Weekly Challenge 121: Invert Bit
blogs.perl.org - Web nostalgia: MojoX::Mechanize
github.polettix.it - On the eve of CPAN Testers
blogs.perl.org - PWC121 - The Travelling Salesman
github.polettix.it - PWC121 - Invert Bit
github.polettix.it - Floyd-Warshall algorithm implementations
github.polettix.it - Perl Weekly Challenge 120: Swap Odd/Even Bits and Clock Angle
blogs.perl.org - How I Uploaded a CPAN Module
blogs.perl.org - App::Easer released on CPAN
github.polettix.it