gpt4 book ai didi

perl - 发行版中的每个 Perl 模块都需要有版本号吗?

转载 作者:行者123 更新时间:2023-12-04 03:44:51 25 4
gpt4 key购买 nike

我正在维护一个包含 100 多个 .pm 文件的 CPAN 发行版。他们每个人都需要有一个 $VERSION,还是可以只将它包含在主模块中?

对于发行版中的其他模块,包含或不包含 $VERSION 有什么影响?

如果它与问题相关,人们应该只“使用”这个发行版中的主模块。而且,出于这个问题的目的,我不是在问它应该如何在任何文件中指定,只是它是否以任何形式存在。

最佳答案

根据经验,许多模块不会将版本号放在每个 .pm 中。文件。如果您制作快照包(b 中的 cpanp)并查看生成的文件,您会看到。在我的机器上,添加了许多模块的 Perl 5.16.2 的快照包含 7962 个模块,但其中 2070 个包含“undef”作为版本(因此大约四分之一的版本具有 undef)。

就个人而言,我不喜欢那样,所以所有 .pm我的模块中的文件 — DBD::Informix — 在每个版本中都标有相同的版本(当前版本是 2013.0118,所有 .pm 文件都标有 2013.0118 作为版本号),但是有很多模块(人)不这样做。

  • 您不必为每个 .pm 提供版本号文件。
  • 总的来说,最好为每个 .pm 提供一个版本号。文件。
  • 我认为为所有 .pm 提供相同的版本号是明智的。分发中的文件。

  • 在我看来,最糟糕的问题是当一个模块更新但有些没有更新时,所以 CPANPLUS 认为模块已经过时,即使安装最新版本并没有改变任何东西。目前我有 5 个这样的模块,我非常想将它们全部删除,尤其是因为我并没有真正使用它们。 (有时,这是由安装在新位置的文件触发的,但我认为这不是唯一的原因。我不确定还有什么触发它,但这是一个定期发生的问题。)

    关于perl - 发行版中的每个 Perl 模块都需要有版本号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14431622/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com