我将 Debian 开发系统(作为测试)上的所有 perl 模块更新为最新版本。我想看看升级实时服务器上的模块是否安全。它似乎有效,除了我开始从 Imager 收到一个奇怪的错误(与 API 版本号有关,但现在这并不重要)。
我尝试重新安装 Imager 和任何相关的库,但似乎没有解决问题。
进一步看,我发现有问题的开发系统似乎有多个 perl 目录,包括:
/usr/lib/perl (which contains 5.14.2 and subdirs)
/usr/lib/perl5 (which contains a range of perl modules)
/usr/local/lib/perl (which contains another 5.14.2 and a set of modules)
and even /root/perl5 (which contains a small list of modules including i486-linux-gnu-thread-multi-64int)
看起来(尽管我不完全确定我是否正确阅读了此内容),系统上的模块已使用每种可能的方法安装,apt-get、aptitude、cpan、从源代码安装和 cpanminus,并且不同的模块是最终进入不同的 perl 目录(我猜是安装),主要是 /usr/local/lib/perl 或 /usr/lib/perl5。我不知道那里至少有 2 个不同的 perl 安装。
我认为/usr/lib/perl 是我想保留的,所以,我尝试将 /usr/local/lib/perl 重命名为 perl.save 然后链接 /usr/local/lib/perl /usr/lib/perl . 然后我重新安装了所有丢失的软件包。
大多数软件包似乎都安装了,但是我收到了这个不祥的消息;
有 /usr/local/lib/perl/5.14.2
想要 /usr/lib/perl/5.14
您的 perl 和您的 Config.pm 似乎对它们运行的架构有不同的想法。
Perl 认为:[5.14.2]
配置说:[i486-linux-gnu-thread-multi-64int]
这可能会也可能不会导致问题。如果您在构建此扩展时遇到问题,请检查您的 perl 安装。
之后,该特定模块的安装失败。可能有充分的理由。
我想解决这个问题的原因是我们的开发系统都是虚拟的,而所有其他开发系统都是这个(损坏的)系统的克隆 - 所以这是一个我需要解决的问题,而不需要从头开始重建整个系统(虽然他是一个选项)。
我确实尝试克隆系统,然后清除 perl,但是这让我的系统非常破碎,无法做任何事情。
有关解决此问题的有用方法的任何想法?谢谢