我從CPAN下載了一些模塊並添加了額外的功能。我可以在CPAN上發佈最新的模塊嗎?如果是的話,我應該怎麼做?它有可能嗎?我應該聯繫編寫原始模塊的人嗎?有人可以幫助程序更新這個特定的模塊嗎?如何更新CPAN上的其他人的模塊?
回答
除非您是共同維護者,否則您將無法將模塊上載並編入索引名稱。因爲現在有兩個(或更多)略有不同的版本,所以將其上傳爲不同的名稱對社區來說效率不高。
- 聯繫作者
- 提交補丁的RT queue的模塊(或者指定其文檔的問題跟蹤)
- 如果是在Github上,用叉子叉項目,進行更改,並提交一個拉請求
如果作者沒有反應(這意味着沒有響應,而不是一個否定的迴應),我們有辦法pass on maintainership of abandoned modules。我們非常緩慢地採取這個過程,因爲我們想給原始作者或當前維護者一個機會做出迴應。有些人可能會在工作,度假等方面陷入困境。但是,大多數情況都非常好。
您可以上傳任何你想要暫停,但如果你是不是某種維護者,暫停不會索引它。它仍然會顯示在您的CPAN帳戶中,人們仍然可以通過CPAN網站下載它,但CPAN客戶端不會看到它(因爲它們按照索引工作)。一些搜索網站會將其顯示爲「未經授權的發佈」。
最近發生了一個事件,有人上傳了名爲「Test」的空發行版,導致一堆仍在使用Test.pm的模塊開始通過失敗的冒煙測試。即使您不是註冊作者,也可以上傳模塊,但不會編入索引。默認情況下,CPAN工具(cpan,cpanm等)不會選取未索引的版本。但它仍然作爲未授權版本存在,並且可以下載並安裝。正如我們在這種情況下看到的那樣,造成了相當的混亂。最近有一個RT(現在已經關閉)在真正的Test分佈下討論這個問題。 – DavidO 2012-03-09 19:20:57
還在[email protected]上討論了「測試」事件。發生了什麼事情是一些冒煙測試者在他們的吸菸者中安裝了「未經授權的版本」,並且由於它沒有包含名爲「plan()」的函數,突然有人上傳包含Test.pm的模塊在其測試套件中開始失敗'使用'行。 – DavidO 2012-03-09 19:26:04
[cpan-testers thread](http://www.nntp.perl.org/group/perl.cpan.testers.discuss/2012/03/msg2683.html) – 2012-03-09 20:16:18
我建議您嘗試聯繫作者。
此外,您可以通過rt.cpan.org上傳模塊更改作爲補丁; CPAN上的模塊網站應該有一個鏈接。請參閱CPAN FAQ: How do I report/fix a bug in a module/script?此跟蹤系統用於您的請求,而不僅僅是報告錯誤。
如果你盲目地上傳一個你添加了功能的模塊,它和它所基於的模塊名字相同(有時會發生並且經常會造成混亂),這將是無益的。但是,您確實有可能有所幫助的選項:
首先,您可以聯繫模塊的作者或維護者,通過電子郵件發送您希望添加的內容的差異或補丁。一定要提供相關文件,並說明你的理由。
這可能是模塊作者將接受該補丁並將其應用於模塊本身的更新。或者,可以通過防止蠕動的特徵,作者/維護者拒絕升級的功能,並導致您進入第二種選擇。
第二個選項是獲取您自己的PAUSE帳戶,以及子類或其他擴展模塊。但一定要給它自己的新模塊名稱,完整的文檔,並可能在文檔中說明這是xyz模塊的擴展,並具有以下附加功能......如果您正在擴展Math :: BigInt,則可能會叫它Math :: BigInt :: Frobcinate(只是一個例子)。
當您嘗試聯繫模塊作者時,請耐心等待。有時需要一段時間讓事情順利進行。
我建議您在發送作者dist之前尋找與發行版相關的存儲庫。 – 2012-03-16 19:58:18
這是一個很好的建議。此外,模塊的POD通常會包含作者如何支持該模塊的信息:RT系統,郵件列表,git存儲庫,單個電子郵件或上述的某些組合都很常見。 – DavidO 2012-03-16 22:39:44
- 1. 如何更新CPAN Perl模塊,
- 2. 如何關注特定CPAN模塊的更新?
- 3. 如何檢查CPAN上的模塊是否比我在項目中捆綁的模塊更新?
- 4. CPAN模塊prereqs
- 5. 如何在不安裝cpan模塊的情況下開發cpan模塊?
- 6. CPAN模塊的遞歸依賴,如何?
- 7. 如何將我的所有CPAN模塊更新爲最新版本?
- 8. 的Perl archname的CPAN模塊
- 9. 如何使用其他模塊的私人特質?
- 10. 如何根據給定的模塊列出所有CPAN模塊?
- 11. 如何告訴cpan更改模塊安裝的目標?
- 12. 安裝CPAN模塊
- 13. 如何從其他cmake的模塊
- 14. 的Python如何使其他Python模塊
- 15. 如何在CPAN上處理需要Perl devel版本的模塊?
- 16. 其他模塊
- 17. 的Python:如何導入模塊中的其他模塊
- 18. 如何從CPAN中刪除模塊?
- 19. 如何報告CPAN模塊錯誤
- 20. 如何安裝ZeroMQ及其cpan perl模塊ine windows(activeperl)
- 21. 運行其他模塊的VBA模塊
- 22. 其他模塊使用的假模塊
- 23. 如何重新加載在其他模塊中導入的模塊
- 24. 與其他模塊交互的新模塊
- 25. 在窗口上安裝CPAN模塊
- 26. 在Windows上安裝Sqitch Perl CPAN模塊
- 27. 如何重建/重新安裝最新的CPAN模塊的依賴關係?
- 28. 如何從其他模塊訪問模塊的實例變量?
- 29. 如何從Angular.js中的其他模塊調用模塊工廠?
- 30. 如何更新列而不更改其他人在休眠?
您對哪個模塊感興趣?誰是作者? – 2012-03-09 20:43:49