我聽說最好不要從系統版本的Perl所在的CPAN安裝模塊。我知道如何使用命令行來安裝模塊,我只是想知道是否有方法將CPAN與系統的核心Perl分開。安裝CPAN模塊而不搞亂系統Perl安裝
我應該:
下載源,並作出專門的目錄,這些模塊?
任何人有任何其他想法或實現,他們已經成功地使用?
我聽說最好不要從系統版本的Perl所在的CPAN安裝模塊。我知道如何使用命令行來安裝模塊,我只是想知道是否有方法將CPAN與系統的核心Perl分開。安裝CPAN模塊而不搞亂系統Perl安裝
我應該:
下載源,並作出專門的目錄,這些模塊?
任何人有任何其他想法或實現,他們已經成功地使用?
CPAN總是從芯分離 - 注意如何/usr/lib/perl5
具有子目錄core_perl
,vendor_perl
(由發行版包裝CPAN模塊)和site_perl
(模塊本地安裝的)。
兩個的ExtUtils :: MakeMaker的和模塊::建設默認安裝一切 「網站」 目錄;這也適用於您使用cpan
或cpanm
命令安裝的所有內容。如果你使用你的Linux發行版軟件包,他們將轉到「供應商」路徑。
您可以指定不同的安裝位置(例如,保持在你家directlry所有CPAN模塊)使用:
dir=~/perl5
export PERL5LIB="${dir}"
export PERL_MM_OPT="INSTALL_BASE='${dir}'"
export PERL_MB_OPT="--install-base '${dir}'"
你可以在你的$HOME
目錄安裝個人庫,在一個子目錄是你可以命名爲.perl5
。這是一個很好的做法(即使你在主機上沒有超級用戶權限)。
如果可執行文件和必須由同一主機上用戶共享的二進制文件,好的做法是安裝手動添加部分/usr/local/...
(您這裏需要是su
或使用sudo
)
確保路徑被安裝程序正確地簡單地測試它們。
當您安裝在系統目錄中時,您要承擔的風險是每個與系統相關的Perl腳本都將使用這些模塊。如果其中一個模塊是系統使用的更新且不兼容的模塊版本,那麼您將不會感到滿意。
安裝在私人目錄中的建議方法是使用local :: lib。請參閱引導技術:https://metacpan.org/module/local::lib
設置local :: lib後,可以使用任何標準CPAN客戶端來安裝模塊。
@KarthikT我以爲我會在這兩個網站上得到意見。我應該關閉這個嗎? – squiguy
我不確定在這種情況下的規則,你可以保留它現在 –
是不是一個確切的副本http://stackoverflow.com/questions/13928005/install-cpan-modules-without-messing -up-the-system-perl-installation? – creaktive