[英]Install CPAN Modules without messing up the system Perl installation
我聽說最好不要安裝CPAN系統的Perl版本的模塊。 我知道如何使用命令行安裝模塊,我只是想知道是否有辦法將CPAN與系統的核心Perl分開。
我是不是該:
下載源代碼並專門為這些模塊創建一個目錄?
任何人都有他們成功使用的任何其他想法或實施?
我正在使用Arch Linux和Perl 5.16.2。
你在尋找像local::lib
這樣的東西嗎?
local :: lib - 使用PERL5LIB創建並使用本地lib / for perl模塊
下載並解壓縮local::lib
的最新版本:
curl -LO http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz
tar xzf local-lib-1.008004.tar.gz
cd local-lib-1.008004/
部署它:
perl Makefile.PL --bootstrap=$HOME/perl5
make
make test
make install
保存持久配置:
cat << PROFILE >> $HOME/.profile
eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib)
PROFILE
現在,您可以注銷/登錄會話或只是source ~/.profile
。 完成此步驟后,將在本地安裝CPAN模塊。
您無需手動安裝模塊。 您只需要在某處安裝它,並將您的環境配置為在那里安裝它。 然后你可以正常使用cpan / cpanp / cpanm / etc。 (cpan減去我的勝利)
手動設置該環境有點麻煩,因此大多數人使用應用程序為它們設置配置。
這方面的兩個主要選擇是:
local::lib
- 這將設置環境變量,以便您可以遠離系統perl安裝模塊,但繼續使用系統perl。
Perlbrew - 這將為您安裝一個完整的perl,因此可以讓您完全避免使用perl系統,並使用更新的perl版本,然后可能隨系統一起提供。 它還可以並排管理多個perl安裝(因此您可以針對不同版本的perl測試您的模塊)。
就個人而言,我更喜歡Perlbrew(因為它可以很容易地玩yada yada運算符和智能匹配等閃亮的新功能(現在不是那么聰明的匹配)但是設置需要更長時間(因為你需要編譯perl) )。
我聽說最好不要安裝CPAN系統的Perl版本的模塊。
我們的想法是通過升級他們使用的模塊來避免破壞您的發行版工具。
將模塊安裝到一個新目錄並使用PERL5LIB
告訴Perl它(這就是前面提到的install :: lib所做的)在這種情況下根本沒有幫助,因為Perl看到的東西與安裝模塊完全相同在通常的site
目錄中。
(當一個人沒有安裝到默認目錄的權限時,主要使用PERL5LIB來安裝模塊。)
使用Perl系統的另一個問題是您無法升級它。
兩者的解決方案是安裝自己的Perl構建。 使用perlbrew
非常容易。
什么是cpanminus? CPAN減去模塊
為什么不將模塊打包成真正的包,rpm或dep風格? 這樣您就可以控制已安裝的軟件,您可以根據需要隨意刪除和更新軟件包。 所以,不要繞過管理,這很少是一個好主意,你保持控制。
如果您使用的是基於rpm的發行版,我真的推薦OBS來完成這項任務。 您可以創建自己的項目,配置源代碼,測試它們,並為各種分發和體系結構創建包。 當您將家庭項目存儲庫導入軟件管理時,只需單擊一下即可安裝軟件包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.