2011-02-24 14 views
3

我準備在我的公司內部設置一個完整的CPAN鏡像供內部使用。然而,我們有幾個內部的基於Module::Build的發行版,我想通過這個鏡像向人們提供。這些分配只能從我們的鏡子中獲得;他們只是內部庫。從本質上講,一旦人們已經建立了自己的CPAN配置文件加載「cpan.mycompany.com」鏡子,我希望他們能夠做一個如何將自定義模塊分佈添加到我的本地CPAN鏡像中?

cpan install MyCompany::Bundle 
cpan install MyCompany::Other::Module 

在他們的命令行安裝任意數量的內部,理想情況下,隨着這些模塊發行版本的增加,所有這些版本都將被我們的內部CPAN鏡像索引並提供,就像先前版本的CPAN模塊可用一樣。最初的問題,我能夠想出一些其他的可能性。

There's CPAN::Inject,但看起來我不能用它來獲得cpan install My::Module語法。

然後有MyCPAN::App::DPAN,這也看起來很有趣,幾乎看起來像我所需要的。有沒有人有這個工具的經驗?

我剛碰到的另一個是CPAN::Site。這似乎也能夠建立一個自定義的CPAN分配。對這個工具有什麼想法?

回答

1

要使用完整的CPAN鏡像,CPAN::Site涵蓋了這一點。它可以讓你製作鏡像,然後將自己的庫注入其中,並配有工具來幫助您管理設置並保持最新狀態。

5

如果您使用CPAN::Mini來創建鏡像,那麼您使用CPAN::Mini::Inject來添加自己的模塊。

+0

我打算有一個完整的CPAN鏡像。這是針對企業的,所以空間不是問題,以前的版本很重要。 – 2011-02-24 20:32:06

0

我想第二個CPAN::Site的建議 - 作者是敏感的,並會很樂意應用修復程序,如果您要求或提交關於CPAN RT的錯誤報告。

我最近一直在使用它來創建一個只包含特定應用程序所需內容的「微型計算機」,除此之外,還有cpanminus可以使任何環境下的安裝變得簡單。然而,不要問我的解決方案 - miyagawa ++今年在YAPC::NA,並炫耀「Carton」哪些和更多,方式比我的哈克東西好。

CPAN::Mini::Inject可能有點太「低級」,因爲它需要您在注入minicpan之前指定大量關於每個遠程前端的信息 - 我覺得幾乎所有這些都應該是auto - 通過分析dist來檢測,例如通過使用CPAN::ParseDistribution

MyCPAN::App::DPAN實際上很酷,但有一點學習曲線,可能不是正確的工具。我也發現它傾向於扼殺一些形成不良的紙張,並發現涉及在原木上鑽探(據我所知 - 也許還有更好的方法)。但是,我強烈建議檢查出來。

0

如果您對MyCPAN :: App :: DPAN仍然感興趣,我剛剛發佈瞭如何使用它來創建類似於CPAN的迷你目錄結構,並解答了此問題的答案(其中之一):

Internal CPAN - what module

(我不知道這是否是OK鏈接到我自己的答案在這裏,讓我知道,如果它不是。)

相關問題