手动安装 Perl 模块的问题

Issues installing Perl modules manually

我正在尝试在我的系统上安装 DateTime 模块。我正在使用 this 指南。

首先,我只是使用 wget 下载,解压缩,做了 perl Makefile.pm,然后 make

然后我 运行 遇到了依赖性问题,发现我可以改用 CPAN。

运行 install DateTime 在 cpan 中似乎有效,如果我尝试再次安装它,我会得到 DateTime is up to date (1.51).

但问题是,现在当我尝试 运行 我的脚本时,我得到 Can't locate namespace/autoclean.pm in @INC,并尝试通过 cpan 安装它会导致失败,例如: Warning: no success downloading '/root/.cpan/sources/authors/id/n/n/n/na/namespace/autoclean.pm.tmp28533'. Giving up on it. at /usr/share/perl5/CPAN/Distribution.pm line 379

有什么我想念的吗?我是否尝试通过 wget 而不是 cpan 安装 Datetime 搞砸了我的安装?

您没有显示您发出的命令,但它不正确。[1] cpan 正在尝试下载

authors/id/n/n/n/na/namespace/autoclean.pm

(autoclean.pm CPAN 作者 "namespace"。)

正确的文件是

authors/id/E/ET/ETHER/namespace-autoclean-0.29.tar.gz

(namespace-autoclean-0.29.tar.gz CPAN 作者 "ETHER"。)

正确的shell命令是

cpan namespace::autoclean

cpan 交互界面中,正确的命令是

install namespace::autoclean

  1. 我认为你所做的相当于

    cpan namespace/autoclean.pm
    

    当您提供路径时,它应该是指向 发行版 的路径,包括作者 ID。例如,您可以使用以下命令安装特定版本的发行版:

    cpan ETHER/namespace-autoclean-0.29.tar.gz
    

    请注意,较新版本的 cpan 首先检查路径是否对应于已知模块,因此 cpan namespace/autoclean.pm 实际上适用于较新版本的 cpan