Debian 安裝 Perl CPAN 入門

Perl 一定要會用 CPAN(Comprehensive Perl Archive Network), CPAN 有太多套件可以使用. 但是在 Debian 上, 要安裝 CPAN 等套件, 想到就頭痛, 套件都不知道裝到哪邊去, 然後就隨便亂用, 也不知道安裝的是什麼東西, 移機的時後就會知道痛了, 還是應該好好研究研究...

找到下述幾篇文章蠻重要的:

除了 Debian 預設 deb 的 Package 外, 有很多已經包好的 Packages 可以直接安裝使用:

  • debian.pkgs.cpan.org -- debified CPAN packages
  • 可以考慮加 "deb http://debian.pkgs.cpan.org/debian unstable main" 此行, 進 /etc/apt/sources.list, 就可以省不少事~
  • dh-make-perl --build --cpan <module_name> # To fully build CPAN modules into debian in one step use the following wrapper.

再來, 看看 CPAN 標準安裝法:

CPAN 安裝的前置設定

  1. $ sudo cpan # 設定 cpan 一些參數, 會問以下的問題:
  2. 遇到 PREFIX=~/perl, You Choose [INSTALLDIRS=site] 時, 若有特別想指定, 就寫 /usr, 不然就跳過.
  3. (PS: perl -V:prefix 可以查現在 prefix 是哪個(等同 INSTALLDIRS=site), Debian 預設是 /usr)
  4. 再來就是設定要從哪個站抓 CPAN Package 就可以使用了

於 Local 要安裝 CPAN Package 的方法:

  • 先依上述設好 CPAN 後, 下述方法挑其一使用即可:
  • # cpan> install Package
  • sudo perl -MCPAN -e 'CPAN::Shell->install("Text::Wrap")'
  • cpan -i Text::Wrap

抓取 tar.gz 於 Local 安裝 Perl Modlues

  1. # cd /usr/local
  2. # tar zxvf filename.tar.gz
  3. # cd filename
  4. # perl Makefile.PL
  5. # make install

查看/修改 CPAN 設定

  • cpan> o conf
  • 修改設定 vim /etc/perl/CPAN/Config.pm

CPAN Upgrade 升級

  • sudo perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'

CPAN 更新 index

  • reload index

以下是 Debian Perl 安裝設定的標準路徑, 詳可見 Debian Perl Policy - Perl Packaging, 主要分下面三種(site/vendor/core):

site (於 local 直接 "# cpan> install Package 安裝" 或 "sudo perl -MCPAN -e 'CPAN::Shell->install("Text::Wrap")' 安裝", 會往下述路徑裝)

  • Modules installed by the local administrator for the current version of Perl
  • /usr/local/lib/perl/version
  • /usr/local/share/perl/version
  • Where version indicates the current Perl version ($Config{version}).

vendor (Debian Package 直接安裝會於此處, ex: dpkg -L libwww-mechanize-perl)

  • Packaged modules
  • /usr/lib/perl5
  • /usr/share/perl5

core

  • Modules included in the core Perl distribution.
  • /usr/lib/perl/version
  • /usr/share/perl/version

程式安裝路徑

  • /usr/local/bin

文件安裝路徑

  • 程式說明文件: /usr/share/man/man1 (檔案命名: Module_name.1.gz, 結尾要有 ".1.")
  • Modules 說明文件: /usr/share/man/man3 (檔案命名: Module_name.3perl.gz, 結尾要有 ".3perl.")

將 Perl Module 包成 Debian Package

我的安裝流程

  1. apt-cache search cpan package_name # 能用 deb 裝, 就用 deb 的
  2. apt 找不到時, 進 cpan>, 使用 cpan> install package_name 來裝
  3. cpan> 裝不起來時, 再到 cpan 網站上抓 package.tar.gz, 用 perl Makefile.PL; make install 安裝

註: 感謝 c9s 的建議: 建議使用 CPANPLUS,  而 CPAN / deb 應該都不會需要用到. 🙂


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Unix。將永久鏈結加入書籤。

Debian 安裝 Perl CPAN 入門 有 8 則回應

  1. shelling 說道:

    個人覺得 debian 上 perl 和 cpan 的預設配置相當簡單,如果不需要用到 c/c++ lib 的 module 直接用 cpan 安裝都很容易裝好,集中使用 cpan 裝的話備份起來輕鬆得多 :p

  2. Tsung 說道:

    嗯嗯, 只是我之前裝, 每次看起來都是裝在自己的目錄下, 一直不知道怎麼裝在公用目錄, 後來查查才知道, 所以順便留下紀錄囉 🙂

  3. c9s 說道:

    這篇好,大推。

  4. c9s 說道:

    可愛用 CPANPLUS.
    對於 dependency 處理比 CPAN 好得多,在 perl5.10 已經預設附帶 CPANPLUS 了。
    另外,有時透過 deb 裝,而後又用 CPANPLUS 裝模組,可能會導致版本相依性問題。

  5. Tsung 說道:

    喔喔, 原來 CPANPLUS 是處理 dependency, 所以應該是要用 CPANPLUS, 不要再透過 deb 會比較保險.
    感恩. Orz..

  6. c9s 說道:

    結果最近 miyagawa 寫了 cpanm 超好用的,完全不用設定! XDDDDD
    所以我把文件裡頭安裝步驟的部份更新了。 😉

  7. Tsung 說道:

    嗯嗯, 感謝通知~ 😀

  8. PHR 說道:

    聽起來好像很具體

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料