【问题标题】:How to install multiple perl modules at once using CPAN如何使用 CPAN 一次安装多个 perl 模块
【发布时间】:2014-10-18 21:18:51
【问题描述】:

是否可以使用 CPAN 安装多个模块?我试过了:

perl -MCPAN -e 'install DBIx::Transaction File::Basename::Object'

但我收到此错误:

Can't locate object method "Transaction" via package "DBIx" at -e line 1

【问题讨论】:

    标签: perl cpan


    【解决方案1】:

    每个模块都需要一个单独的install 命令:

    perl -MCPAN -e 'install DBIx::Transaction; install File::Basename::Object'
    

    如果您想进一步简化安装过程,请查看cpanm,它不需要配置,默认情况下会在不提示的情况下安装模块。

    您可以使用单个 cpanm 命令安装这两个模块,如下所示:

    cpanm DBIx::Transaction File::Basename::Object
    

    尽管正如 ikegami 指出的那样,这与第一个命令并不完全相同,因为您无法指定要使用哪个版本的 perl

    【讨论】:

    • 最后一个命令等效于cpan DBIx::Transaction File::Basename::Object(使用cpan 和它安装时使用的perl),而不是perl -MCPAN -e 'install DBIx::Transaction; install File::Basename::Object'(使用指定的perl)。 // 不确定安装一个全新的安装程序比第一次使用时按 nig Enter 更容易cpan
    • @ikegami 谢谢,修复了“等效”部分。我更喜欢cpanm 而不是cpan,因为它1) 不那么冗长,2) 默认情况下不提示,3) 似乎比cpan 更频繁地工作。我知道您可以将cpan 配置为不提示等,但我宁愿使用单个命令安装cpanm,而不必再担心配置。
    • @ikegami 话虽如此,我可以看到我的“如果您想进一步简化安装过程”位是过度概括。例如,对于管理大量系统的人来说,这可能并不简单。
    • 根本没有简化流程。一个安装命令与一个设置prerequisites_policy 的命令。在上下文中,它实际上通过让某人从已知和使用的系统转换来使过程复杂化。 // 至于工作,我在 3 个操作系统和 8 个版本的 Perl 上从未遇到过 cpan 的问题。 // 至于详细程度,99% 的输出来自安装程序,而不是 cpan.
    • @ikegami cpan DBI 产生了 794 行输出,而 cpanm DBI 仅产生 6 行。当我第一次尝试使用cpan 安装模块时,系统提示我回答一系列关于配置的问题,其中许多问题对我这个 Perl 新手来说毫无意义。我必须在我想安装模块的每个系统上都这样做,这太烦人了,我刚刚安装了cpanm,再也没有打扰cpan。我认为cpanmcpan 对初学者更友好,因此我推荐。
    【解决方案2】:
    cpan DBIx::Transaction File::Basename::Object
    

    或者,如果您要确保使用特定的 perl

    perl -MCPAN -e'install($_) for qw( DBIx::Transaction File::Basename::Object )'
    

    【讨论】:

      猜你喜欢
      • 2013-06-30
      • 2020-05-07
      • 2011-06-15
      • 2016-07-08
      • 2019-04-11
      • 1970-01-01
      • 2016-07-11
      • 2013-11-22
      • 1970-01-01
      相关资源
      最近更新 更多