perlbrew perl cpanm故障

perlbrew perl cpanm故障,perl,perlbrew,cpanm,Perl,Perlbrew,Cpanm,我在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 "/Use

我在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"

cpanm
不安装任何模块。它只运行与要安装的发行版打包在一起的安装程序。通过
PERL_MM_OPT
PERL_MB_OPT
env vars,您正在指示这些安装程序将模块安装到错误的位置。摆脱它们。

我遇到了类似的问题,无法理解如何使
cpanm
为预期的Perl安装模块。我已通过以下方式安装了
perlbrew

perlbrew --switch --notest install perl-stable
我认为
--switch
会将我的使用指向新的Perl,我可以通过以下方式看到新的Perl:

perlbrew exec perl -v | grep 'This is'
但是,当我通过以下方式运行脚本时,使用
cpanm
安装模块不起作用(找不到模块):

perlbrew exec perl myscript.pl
<>这使我认为也许<代码>开关没有我想要的效果。运行以下命令允许
cpanm
开始安装到预期的Perl:

perlbrew switch perl-5.26.1

请提供
哪个perl的输出;哪种cpanm;头部-n 1“$(哪个cpanm)”;printf'MM:%s\n'$PERL\u MM\u OPT';在perlbrew中printf'MB:%s\n'$PERL\u MB\u OPT“
请尝试以下操作
$cpanm--interactive-v App::cpanutdated
$cpan过时
$cpanm--interactive-v App::cpan::Fresh
。然后执行
cpanm
。检查刚安装的文件上的权限是否正确,但安装位置是否会根据使用的cpanm而改变。我提出了建议。在perlbrew下使用perl,找不到DBD/Sybase.pm。使用系统perl,一切都很好/Users/john/perl5/lib/perl5/darwin-thread-multi-2level/DBD/Sybase.pm。要确保cpanm下一次安装是针对perlbrew copyPERL5LIB=“/Users/john/perl5/lib/perl5”这就是问题所在。如何将文件从这里移动到~/perl5/perlbrew/perls/perl-5.18.2/lib/5.18.2/非常感谢您提供的信息。不确定我是如何做到这一点的。Re“但是安装位置是否会根据使用哪种cpanm而改变”,默认情况下,使用的
perl
将确定模块的安装位置,但您正在覆盖此点。Re“我如何将文件从这里移动到~/perl5/perlbrew/perls/perl-5.18.2/lib/5.18.2/”不要移动它们。只需使用您希望其可用的Perl安装模块。