【问题标题】:How to update perl module with cpanm如何使用 cpanm 更新 perl 模块
【发布时间】:2015-07-27 18:55:03
【问题描述】:

我尝试使用 cpanm 安装/更新 Perl 模块。但是,每个模块都失败了。

例如:

cpanm Config::General
--> Working on Config::General
Fetching http://www.cpan.org/authors/id/T/TL/TLINDEN/Config-General-2.56.tar.gz ... OK
Configuring Config-General-2.56 ... OK
Building and testing Config-General-2.56 ... OK
Successfully installed Config-General-2.56 (upgraded from 2.52)
1 distribution installed

所以,我希望 Config::General 的版本现在是 2.56,但是...:

perl -e 'use Config::General 2.56'
Config::General version 2.56 required--this is only version 2.52 at -e line 1.

我尝试相同的登录 superU 但同样的问题... 但是现在,我在

中有 Perl 库

~/perl5/lib/perl5//usr/lib/perl/5.18/

如何使用cpanm 正确更新 Perl 模块?


关于我的安装的一些信息:

$ perl -E'
   say "$_=$ENV{$_}" for qw( PERL_MM_OPT PERL_MB_OPT PERL5LIB );
   say "--";
   say for @INC;
'
PERL_MM_OPT=INSTALL_BASE=/home/hacklionex/perl5
PERL_MB_OPT=--install_base "/home/hacklionex/perl5"
PERL5LIB=
--
/etc/perl
/usr/local/lib/perl/5.18.2
/usr/local/share/perl/5.18.2
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.18
/usr/share/perl/5.18
/usr/local/lib/site_perl
.

【问题讨论】:

    标签: perl module updates cpan cpanm


    【解决方案1】:

    您正在指示模块安装程序在/home/hacklionex/perl5 中安装模块(通过PERL_MM_OPTPERL_MB_OPT),但您没有告诉Perl 在那里寻找模块(它不在@INC 中)。将以下内容添加到您的登录脚本中:

    export PERL5LIB=/home/hacklionex/perl5/lib/perl5
    

    或将以下内容添加到您的脚本中:

    use lib '/home/hacklionex/perl5/lib/perl5';
    

    【讨论】:

    • 现在可以使用了,非常感谢。由于权限访问,某些模块无法更新。我还有一个问题:我如何知道 cpanm 安装模块的位置,在我是否登录 SuperU 的情况下?
    • cpanm 不安装任何模块。它运行发行版的Makefile.PLBuild.PLMakefile.PL 预计使用 ExtUtils::MakeMaker 安装发行版,Build.PL 预计使用 Module::Build。两者都从命令行获取选项,这些选项也可以在环境变量中指定(分别为PERL_MM_OPTPERL_MB_OPT)。
    猜你喜欢
    • 2014-09-30
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多