2011-11-01 176 views

回答

11

那麼,這一切都取決於模塊的預期用途。

本機的包管理有很多優點:

  • Perl模塊將與您的系統,例如完美整合 文件位於右側(系統相關)位置,腳本添加到 PATH等。
  • 自動升級和安全修補。
  • 可能是一個關注您的 模塊的維護者或維護者組(例如Debian Perl組)。
  • 特定於分發的錯誤可以在到達主流 之前修復(可能不具備平臺特定知識)。
  • 部署到具有相同操作系統版本的計算機時,可以將程序包依賴關係視爲理所當然。

當從CPAN直接安裝,也有一定的優勢:

  • 您可以安裝模塊的最新版本。
  • 您可以安裝該模塊的特定版本(舊版本或開發者版本)。
  • 您可以微調模塊的編譯或安裝參數。

如今,local::libperlbrewhowto)取得了CPAN方式很多關於開發商更有趣。 local::lib可讓您在使用系統的perl二進制文件時擁有私有模塊樹,並且perlbrew可讓您輕鬆創建自己的完整Perl安裝(同時還有多個Perl版本)。

兩種方法都是有效的,如上所述,優點取決於預期用途。

+0

非常感謝。 – moodywoody

3

使用本地CPAN客戶端可以訪問CPAN上的所有模塊,其中大部分模塊可能不是由您的發行版打包,但代價是您的發行版軟件包管理器不知道它們已安裝(用於依賴性解析等)。我知道Debian提供dh-make-perl軟件包來將CPAN模塊轉換爲debs,看起來它應該給你兩全其美的好處,但我從來沒有嘗試過。

不過,最重要的是選擇一種方法或其他方法,並堅持下去。