利用 cpanm 的資料計算 Perl 版本分佈狀況...

如標題 :p 只拿 cpanm 分析一定會有偏差,所以數字參考看看就好:「Perl versions usage stats (with cpanm)」。

Perl 其中一個討厭的問題是版本太多了... 不是官方說 EoL 就可以 EoL 啊 :/

用 App::perlbrew + App::cpanminus 安裝自己的 Perl 環境

Ubuntu 上系統內建的 Perl 是 5.10.1,而且系統內建的 Perl module 有時會與自己裝的衝到,於是就找了一下要怎麼產生獨立環境的方法... 結果發現 gugod 早就把細節都包好 XD

首先是用系統的 cpan 安裝 App::perlbrew

cpan App::perlbrew

因為我不打算繼續用之前透過 App::cpanminus (cpanm) 裝的 module,所以我把 ~/perl5 全砍了再跑下一步,也就是初始化 perlbrew 環境:(如果是 csh/tcsh 使用者,記得先下 rehash 清 cache)

perlbrew init

然後安裝 Perl 5.12.3:

perlbrew install perl-5.12.3

如果安裝失敗的話,可以看 build log。我在 FreeBSD 上遇過 test fail 的情形,可以直接強制安裝,大家就自己看著辦 XD

接下來是切換過去:

perlbrew switch perl-5.12.3

然後把 .cshrc 或是 .bashrc 加上對應的設定:

source ${HOME}/perl5/perlbrew/etc/cshrc

或是:

source ${HOME}/perl5/perlbrew/etc/bashrc

然後重新登入 (或是執行 source 那串,讓設定檔生效),接下來就可以用 cpan 指令裝 App::cpanminus 了。

另外,可以參考這些文章:

Perl 中 local::lib 與 App::cpanminus 的搭配...

用過後才知道這兩個東西搭起來超方便 XD

首先是 App::cpanminus (一般會稱呼他可執行檔的檔名「cpanm」),可以很方便的將軟體裝在自己的目錄下,而不用動到 root 權限。預設的目錄是裝到 ~/perl5/ 下。

再來是 local::lib,預設的 use local::lib; 就會讓系統使用自己目錄 ~/perl5/ 的 module... (感謝 clkao 的推薦)

相當好用啊...