我在cpanm下安装了一个模块,显然是错误的。它在系统perl下运行时可见且可用,但不在perlbrew下运行。但是,perlbrews cpanm声明该模块已成功安装。最佳步骤?
/Users/john/perl5/perlbrew/perls/perl-5.18.2/bin/perl
/Users/john/perl5/bin/cpanm
#!/usr/bin/perl
MM: INSTALL_BASE=/Users/john/perl5
MB: --install_base "/Users/john/perl5"
Note: .pl file contains following
#!/usr/bin/env perl
perlbrew开关后......
declare -x PERL5LIB="/Users/john/perl5/lib/perl5"
declare -x PERLBREW_BASHRC_VERSION="0.76"
declare -x PERLBREW_HOME="/Users/john/.perlbrew"
declare -x PERLBREW_MANPATH="/Users/john/perl5/perlbrew/perls/perl-5.18.2/man"
declare -x PERLBREW_PATH="/Users/john/perl5/perlbrew/bin:/Users/john/perl5/perlbrew/perls/perl-5.18.2/bin"
declare -x PERLBREW_PERL="perl-5.18.2"
declare -x PERLBREW_ROOT="/Users/john/perl5/perlbrew"
declare -x PERLBREW_VERSION="0.76"
declare -x PERL_LOCAL_LIB_ROOT="/Users/john/perl5"
declare -x PERL_MB_OPT="--install_base \"/Users/john/perl5\""
declare -x PERL_MM_OPT="INSTALL_BASE=/Users/john/perl5"
答案 0 :(得分:2)
cpanm
不安装任何模块。它只运行与您要安装的发行版一起打包的安装程序。通过PERL_MM_OPT
和PERL_MB_OPT
env变量,您将指示这些安装程序将模块安装在错误的位置。摆脱它们。
答案 1 :(得分:0)
我遇到了类似的问题,无法理解如何为预期的Perl安装cpanm
安装模块。我通过以下方式安装了perlbrew
perlbrew --switch --notest install perl-stable
我认为--switch
会将我的用法指向新的Perl,我可以通过以下方式看到新的Perl:
perlbrew exec perl -v | grep 'This is'
但是当我通过以下方式运行脚本时,安装cpanm
的模块无效(找不到模块):
perlbrew exec perl myscript.pl
这which-version-of-perl post让我觉得--switch
可能没有达到我想要的效果。运行以下命令允许cpanm
开始安装到预期的Perl:
perlbrew switch perl-5.26.1