2012-12-18 162 views
0

我聽說最好不要從系統版本的Perl所在的CPAN安裝模塊。我知道如何使用命令行來安裝模塊,我只是想知道是否有方法將CPAN與系統的核心Perl分開。安裝CPAN模塊而不搞亂系統Perl安裝

我應該:

下載源,並作出專門的目錄,這些模塊?

任何人有任何其他想法或實現,他們已經成功地使用?

+0

@KarthikT我以爲我會在這兩個網站上得到意見。我應該關閉這個嗎? – squiguy

+0

我不確定在這種情況下的規則,你可以保留它現在 –

+1

是不是一個確切的副本http://stackoverflow.com/questions/13928005/install-cpan-modules-without-messing -up-the-system-perl-installation? – creaktive

回答

0

CPAN總是從芯分離 - 注意如何/usr/lib/perl5具有子目錄core_perlvendor_perl(由發行版包裝CPAN模塊)和site_perl(模塊本地安裝的)。

兩個的ExtUtils :: MakeMaker的模塊::建設默認安裝一切 「網站」 目錄;這也適用於您使用cpancpanm命令安裝的所有內容。如果你使用你的Linux發行版軟件包,他們將轉到「供應商」路徑。

您可以指定不同的安裝位置(例如,保持在你家directlry所有CPAN模塊)使用:

dir=~/perl5 

export PERL5LIB="${dir}" 
export PERL_MM_OPT="INSTALL_BASE='${dir}'" 
export PERL_MB_OPT="--install-base '${dir}'" 
0

你可以在你的$HOME目錄安裝個人庫,在一個子目錄是你可以命名爲.perl5。這是一個很好的做法(即使你在主機上沒有超級用戶權限)。

如果可執行文件和必須由同一主機上用戶共享的二進制文件,好的做法是安裝手動添加部分/usr/local/...(您這裏需要是su或使用sudo

確保路徑被安裝程序正確地簡單地測試它們。

0

當您安裝在系統目錄中時,您要承擔的風險是每個與系統相關的Perl腳本都將使用這些模塊。如果其中一個模塊是系統使用的更新且不兼容的模塊版本,那麼您將不會感到滿意。

安裝在私人目錄中的建議方法是使用local :: lib。請參閱引導技術:https://metacpan.org/module/local::lib

設置local :: lib後,可以使用任何標準CPAN客戶端來安裝模塊。