【发布时间】:2023-04-03 11:22:01
【问题描述】:
我需要什么来设置和维护本地 CPAN 镜像?我应该注意哪些脚本和最佳实践?
【问题讨论】:
-
这是一篇完整的、简单的、一步一步的文章,包含所有命令...只需复制和粘贴即可:) Install your own Perl with your own CPAN
标签: perl cpan administration
我需要什么来设置和维护本地 CPAN 镜像?我应该注意哪些脚本和最佳实践?
【问题讨论】:
标签: perl cpan administration
CPAN::Mini 是要走的路。在本地镜像 CPAN 后,您需要使用“file:” URL 将 CPAN.pm 或 CPANPLUS 中的镜像 URL 设置为本地目录,如下所示:
file:///path/to/my/cpan/mirror
如果您希望您的镜像拥有 CPAN 发行版的开发版本的副本,您可以使用CPAN::Mini::Devel。
更新:
另一个答案中给出的"What do I need to mirror CPAN?" 常见问题解答是用于镜像所有 CPAN,通常提供另一个公共镜像。这包括旧的、过时的发行版。 CPAN::Mini 只是镜像最新版本。这要小得多,对于大多数用户来说,通常是人们用于本地或断开连接(笔记本电脑)访问 CPAN 的方式。
【讨论】:
除了其他答案,请查看 Leon 的 CPAN::Mini::Webserver,它为您提供了一个连接到本地 CPAN 副本的 CPAN Search 接口。
如果你想做更多花哨的事情,请看我的"MyCPAN" 谈话。例如,您可以使用 CPAN::Mini::Inject 将您自己的私有模块注入您的私有 CPAN。
【讨论】:
CPAN::Mini 很好。默认情况下,它只保留最新版本的发行版,而不是像 CPAN 那样保留所有版本。
您还可以安装 CPAN::Mini::Webserver,它为您提供本地 cpan 镜像的 Web 界面 - 如果您处于离线状态但仍想使用 perl,则非常方便。
【讨论】:
试试CPAN::Mini。
【讨论】:
运行 CPAN 镜像最可能的情况是,您的 50 台机器的网络都可以在本地更新,而不是访问网络 50 次。
我认为以传统方式使用 CPAN 是一种让服务器网络保持最新状态的糟糕方法。
我运行着一个由 RedHat 机器组成的网络。我将所有打算在生产中使用的 CPAN 模块打包到 RPM 中(主要使用 RPM::Specfile 中的 cpanflute2 工具)并以这种方式部署它们,从而确保正确的依赖跟踪,而您实际上并没有以任何理智的方式从 CPAN 本身获得。
【讨论】: