【问题标题】:Issues installing Perl modules manually手动安装 Perl 模块的问题
【发布时间】:2020-06-08 10:17:30
【问题描述】:

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

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

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

在 cpan 中运行 install DateTime 似乎可以工作,如果我再次尝试安装它,我会得到 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 搞砸了我的安装?

【问题讨论】:

  • 你运行的是cpan namespace::autoclean 还是cpan namespace/autoclean.pm?你应该使用第一个。
  • Re "我是不是通过 wget 而不是 cpan 安装 Datetime 搞砸了我的安装?",否
  • @mob 奇怪的是,cpan namespace::autoclean 似乎解决了我的问题,尽管我认为这就是我在运行cpan 然后从那里发出namespace/autoclean 时所做的事情。谢谢。
  • FWIW,该指南是错误的,因为它没有告诉您如何安装依赖项。开始使用 CPAN 安装程序将处理所有这些:cpan DateTime

标签: perl cpan


【解决方案1】:

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

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

autoclean.pm by CPAN 作者“命名空间”。)

正确的文件是

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

namespace-autoclean-0.29.tar.gz by 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

【讨论】:

    猜你喜欢
    • 2011-11-24
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多