首页 > 解决方案 > cpanm 在本地镜像中找不到更新的版本

问题描述

我创建了一些我无法共享的专有 Perl 模块,因此我将它们放入带有orepan2的本地“暗盘”中。这里是 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

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

标签: perlcpancpanm

解决方案


据我所知,cpanm 是正确的,“最新”是基于这样一个事实,即安装了适合指定的最小版本的东西......你没有。如果我错了,请纠正我,但是有一个重新安装选项可以解决问题并获得它可以找到的任何最新版本


推荐阅读