【问题标题】:How do I set up a local CPAN mirror?如何设置本地 CPAN 镜像?
【发布时间】:2023-04-03 11:22:01
【问题描述】:

我需要什么来设置和维护本地 CPAN 镜像?我应该注意哪些脚本和最佳实践?

【问题讨论】:

标签: perl cpan administration


【解决方案1】:

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 的方式。

【讨论】:

  • 从 1.1 开始,search.cpan.org/perldoc?App::cpanminus App::cpanminus (cpanm) 支持 --mirror-only 从本地镜像中提取元数据而无需在线查询。 >1.1000 Thu Nov 11 23:56:46 PST 2010 - 添加了 --mirror-only 以支持 minicpan 和 DarkPAN(jonallen、xdg、tokuhirom)
【解决方案2】:

除了其他答案,请查看 Leon 的 CPAN::Mini::Webserver,它为您提供了一个连接到本地 CPAN 副本的 CPAN Search 接口。

如果你想做更多花哨的事情,请看我的"MyCPAN" 谈话。例如,您可以使用 CPAN::Mini::Inject 将您自己的私有模块注入您的私有 CPAN。

【讨论】:

    【解决方案3】:

    CPAN::Mini 很好。默认情况下,它只保留最新版本的发行版,而不是像 CPAN 那样保留所有版本。

    您还可以安装 CPAN::Mini::Webserver,它为您提供本地 cpan 镜像的 Web 界面 - 如果您处于离线状态但仍想使用 perl,则非常方便。

    【讨论】:

      【解决方案4】:

      试试CPAN::Mini

      【讨论】:

      【解决方案5】:

      运行 CPAN 镜像最可能的情况是,您的 50 台机器的网络都可以在本地更新,而不是访问网络 50 次。

      我认为以传统方式使用 CPAN 是一种让服务器网络保持最新状态的糟糕方法。

      我运行着一个由 RedHat 机器组成的网络。我将所有打算在生产中使用的 CPAN 模块打包到 RPM 中(主要使用 RPM::Specfile 中的 cpanflute2 工具)并以这种方式部署它们,从而确保正确的依赖跟踪,而您实际上并没有以任何理智的方式从 CPAN 本身获得。

      【讨论】:

      • 我希望你不要使用 RedHat 的供应商 perl?它充满了 perl 开发人员摇头的有问题的“修复”。如果我们收到来自 RedHat 用户的错误报告,第一步始终是验证这是 p​​erl 的问题,而不是 RedHat 的问题。大多数时候它 RedHat。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多