【发布时间】: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
【问题讨论】:
是否可以使用 CPAN 安装多个模块?我试过了:
perl -MCPAN -e 'install DBIx::Transaction File::Basename::Object'
但我收到此错误:
Can't locate object method "Transaction" via package "DBIx" at -e line 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。
cpanm 而不是cpan,因为它1) 不那么冗长,2) 默认情况下不提示,3) 似乎比cpan 更频繁地工作。我知道您可以将cpan 配置为不提示等,但我宁愿使用单个命令安装cpanm,而不必再担心配置。
prerequisites_policy 的命令。在上下文中,它实际上通过让某人从已知和使用的系统转换来使过程复杂化。 // 至于工作,我在 3 个操作系统和 8 个版本的 Perl 上从未遇到过 cpan 的问题。 // 至于详细程度,99% 的输出来自安装程序,而不是 cpan.
cpan DBI 产生了 794 行输出,而 cpanm DBI 仅产生 6 行。当我第一次尝试使用cpan 安装模块时,系统提示我回答一系列关于配置的问题,其中许多问题对我这个 Perl 新手来说毫无意义。我必须在我想安装模块的每个系统上都这样做,这太烦人了,我刚刚安装了cpanm,再也没有打扰cpan。我认为cpanm 比cpan 对初学者更友好,因此我推荐。
cpan DBIx::Transaction File::Basename::Object
或者,如果您要确保使用特定的 perl,
perl -MCPAN -e'install($_) for qw( DBIx::Transaction File::Basename::Object )'
【讨论】: