Perl cpanm在本地镜像中找不到更新版本

Perl cpanm在本地镜像中找不到更新版本,perl,cpan,cpanm,Perl,Cpan,Cpanm,我创建了一些无法共享的专有Perl模块,所以我将它们放在本地的darkpan中。以下是02packages.details.txt的开头 [~] $ gunzip -c darkpan/modules/02packages.details.txt.gz File: 02packages.details.txt URL: http://www.perl.com/CPAN/modules/02packages.details.txt Description: Da

我创建了一些无法共享的专有Perl模块,所以我将它们放在本地的darkpan中。以下是02packages.details.txt的开头

[~] $ gunzip -c darkpan/modules/02packages.details.txt.gz
File:         02packages.details.txt
URL:          http://www.perl.com/CPAN/modules/02packages.details.txt
Description:  DarkPAN
Columns:      package name, version, path
Intended-For: Automated fetch routines, namespace documentation.
Written-By:   OrePAN2 0.47
Line-Count:   30
Last-Updated: Wed Apr 24 15:44:46 2019

MyProj::MyMod            1.201904241840         D/DU/DUMMY/MyProj-MyMod-v1.20190424.1840.tar.gz
我打字的时候

cpanm --mirror=file:///path/to/darkpan --mirror-only MyProj::MyMod
它的响应是MyProj::MyMod是最新的,即使darktab中的版本较新。要安装它,我必须在命令行上说MyProj::MyMod-201904241840

为什么cpanm无法识别darkpan索引中的版本比安装的版本更新

为什么我不能说

cpanm --mirror=file:///path/to/darkpan --mirror-only MyProj-MyMod

为了将其作为一个模块而不是单个软件包加载?

据我所知,cpanm是正确的,“最新”基于这样一个事实,即安装了符合指定最低版本的软件。。。但你没有。如果我错了,请纠正我的错误,但有一个重新安装选项可以实现这一目的,并获得它能找到的任何最新版本。据我所知,cpanm是正确的,“最新”基于这样一个事实,即安装了符合指定最低版本的内容。。。但你没有。如果我错了,请纠正我的错误,但有一个重新安装选项可以实现这一目的,并获得它能找到的任何最新版本

我没有什么有用的话要说,除了我也使用orepan2,而且它对我的宣传效果很好。这听起来很疯狂,但您是否尝试过使用较短版本字符串的内容?您的tarball名称表示v1.20190424.1840的版本,但索引中的版本为1.201904241840。如果你的版本被截断了,这就可以解释你的感受了。另请参见@DiabJerius,我很确定文件名中的版本根本没有被使用。CPAN索引器从存档中获取版本,并将其放入02packages.details.txt中,就像orepan2模拟的那样。@ikegami我假设文件名中的版本与存档中的版本相同,而存档中的版本实际上是@LawrenceSiden的问题,因此如果它与索引中的版本不同,这可能表明索引器正在以某种方式破坏它。@ikegami[编辑时间用完]在不知道存档中的版本的情况下,我正在使用文件名上的版本作为它的代理。我没有什么有用的话要说,除了我也使用了orepan2,并且它对我起到了宣传的作用。这听起来很疯狂,但您是否尝试过使用较短版本字符串的内容?您的tarball名称表示v1.20190424.1840的版本,但索引中的版本为1.201904241840。如果你的版本被截断了,这就可以解释你的感受了。另请参见@DiabJerius,我很确定文件名中的版本根本没有被使用。CPAN索引器从存档中获取版本,并将其放入02packages.details.txt中,就像orepan2模拟的那样。@ikegami我假设文件名中的版本与存档中的版本相同,而存档中的版本实际上是@LawrenceSiden的问题,因此如果它与索引中的版本不同,这可能表明索引器正在以某种方式损坏它。@ikegami[编辑时间用完]在不知道存档中的版本的情况下,我正在使用文件名上的版本作为它的代理。不,这是当要求安装模块时给出的消息,并且最新版本已经安装。It world安装最新版本否,这是当要求安装模块时给出的消息,并且最新版本已经安装。否则,请安装最新版本