3

根据手册页,

cpanm -L extlib Plack # install Plack and all non-core deps into extlib

所以我尝试像这样安装 Parallel::ForkManager:

# cpanm -L extlib Parallel::ForkManager
==> Found dependencies: ExtUtils::MakeMaker
--> Working on ExtUtils::MakeMaker
Fetching http://www.cpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-6.98.tar.gz ... OK
Configuring ExtUtils-MakeMaker-6.98 ... OK
==> Found dependencies: File::Spec, Pod::Man, Data::Dumper
--> Working on File::Spec
Fetching http://www.cpan.org/authors/id/S/SM/SMUELLER/PathTools-3.47.tar.gz ... OK
==> Found dependencies: ExtUtils::MakeMaker
! Installing the dependencies failed: Module 'ExtUtils::MakeMaker' is not installed
! Bailing out the installation for PathTools-3.47.
--> Working on Pod::Man
Fetching http://www.cpan.org/authors/id/R/RR/RRA/podlators-2.5.3.tar.gz ... OK
==> Found dependencies: ExtUtils::MakeMaker
! Installing the dependencies failed: Module 'ExtUtils::MakeMaker' is not installed
! Bailing out the installation for podlators-v2.5.3.
--> Working on Data::Dumper
Fetching http://www.cpan.org/authors/id/S/SM/SMUELLER/Data-Dumper-2.151.tar.gz ... OK
==> Found dependencies: ExtUtils::MakeMaker
! Installing the dependencies failed: Module 'ExtUtils::MakeMaker' is not installed
! Bailing out the installation for Data-Dumper-2.151.
! Installing the dependencies failed: Module 'Data::Dumper' is not installed, Module 'File::Spec' is not installed, Module 'Pod::Man' is not installed
! Bailing out the installation for ExtUtils-MakeMaker-6.98.
--> Working on Parallel::ForkManager
Fetching http://www.cpan.org/authors/id/S/SZ/SZABGAB/Parallel-ForkManager-1.06.tar.gz ... OK
==> Found dependencies: ExtUtils::MakeMaker
! Installing the dependencies failed: Module 'ExtUtils::MakeMaker' is not installed
! Bailing out the installation for Parallel-ForkManager-1.06.

我不明白的是,当手册页显示非核心部门时,它为什么要尝试安装核心部门。我所拥有的真正影响是 FPM,它在下面使用带有 -L 标志的 cpanm。由于此故障,我无法将 CPAN 包转换为 RPM。

# /usr/local/bin/cpanm --version
cpanm (App::cpanminus) version 1.7004 (/usr/local/bin/cpanm)
perl version 5.018002 (/usr/bin/perl)

  %Config:
    archname=x86_64-linux-thread-multi
    installsitelib=/usr/local/share/perl5
    installsitebin=/usr/local/bin
    installman1dir=/usr/share/man/man1
    installman3dir=/usr/share/man/man3
    sitelibexp=/usr/local/share/perl5
    archlibexp=/usr/lib64/perl5
    privlibexp=/usr/share/perl5
  %ENV:
  @INC:
    FatPacked::24415496=HASH(0x1748d08)
    /usr/local/lib64/perl5
    /usr/local/share/perl5
    /usr/lib64/perl5/vendor_perl
    /usr/share/perl5/vendor_perl
    /usr/lib64/perl5
    /usr/share/perl5
    .

有没有人遇到同样的问题/找到了解决方案?

4

1 回答 1

2

我刚刚在 CentOS 7.x 机器上遇到了这个问题。

我设法通过切换-L-l(小写 L)来安装ExtUtils::MakeMaker及其依赖项来解决这个问题,然后切换回使用-L我正在安装的其他模块。

更新:似乎-l只有当您没有更新相关模块时,该技巧才有效。在这种情况下,您需要使用-l /path/to/install/to --force.

于 2016-04-19T19:43:54.380 回答