2016-12-01 111 views
3

我在cpanm下安裝了一個模塊,顯然不正確。它在系統perl下運行時可見且可用,但不在perlbrew下運行。但是,perlbrews cpanm指出模塊已成功安裝。最好的步驟?perlbrew perl 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" 

Link to sybase install with hombrew

+2

請提供'which perl;哪個cpanm; head -n 1「$(which cpanm)」; printf'MM:%s \ n'「$ PERL_MM_OPT」; printf'MB:%s \ n'「$ PERL_MB_OPT」' – ikegami

+0

在perlbrew中嘗試以下操作。 '$ cpanm --interactive -v App :: cpanoutdated','$ cpan-outdated','$ cpanm --interactive -v App :: CPAN :: Fresh'。然後執行'cpanm '。 –

+0

檢查剛剛安裝的文件 – KeepCalmAndCarryOn

回答

2

cpanm不安裝任何模塊。它只是運行與您想要安裝的發行版一起打包的安裝程序。通過PERL_MM_OPTPERL_MB_OPT env vars,指示這些安裝者將模塊安裝在錯誤的位置。擺脫他們。

+0

上的權限是否正確,但不會根據使用哪個cpanm來安裝更改位置。我進行了建議。在perlbrew下使用perl,找不到DBD/Sybase.pm。使用系統Perl,一切都很好。 /Users/john/perl5/lib/perl5/darwin-thread-multi-2level/DBD/Sybase.pm。想讓某些cpanm下一次安裝是perlbrew的副本 – paulj

+0

PERL5LIB =「/ Users/john/perl5/lib/perl5」這就是問題所在。如何將文件從這裏移動到〜/ perl5/perlbrew/perls/perl-5.18.2/lib/5.18.2/ – paulj

+0

非常感謝這些信息。不知道我是如何得到這一點。 – paulj

0

我有一個類似的問題,無法理解如何爲目標Perl製作cpanm安裝模塊。

perlbrew --switch --notest install perl-stable 

我認爲--switch將指導我的使用到新的Perl,我可以看到新的Perl在那裏通過:

​​

但隨着cpanm安裝模塊是我已經通過安裝perlbrew不工作(該模塊將不會被發現),當我將通過我的運行腳本:

perlbrew exec perl myscript.pl 

which-version-of-perl post讓我考慮是m aybe --switch沒有達到我想要的效果。運行以下命令允許cpanm開始安裝到預定的Perl:

perlbrew switch perl-5.26.1