我想分發我的Perl應用程序,它有一個CPAN依賴項。當有人啓動應用程序時,我可以包含對此依賴項的檢查嗎?通過命令行參數或直接在perl裏面?如何在Perl應用程序中包含CPAN依賴項?
0
A
回答
3
這是一個純粹的Perl模塊,沒有其他的依賴關係嗎?
我只是用我的代碼打包它。哎呀,你甚至可以將它附加到你的文件,如果你願意。
如果這有點複雜,也就是說,有十幾個必需的模塊必須安裝,並且需要一些編譯,您將不得不使用CPAN來下載它。有一個CPAN::AutoINC這是假設下載和安裝任何模塊,你需要CPAN當需要模塊,而不是在@INC
路徑。
但是,我的經驗是,你最終會陷入一團糟。用戶可能會開始運行程序,認爲它只運行一分鐘,但發現他們花費20分鐘時間才能下載,編譯和測試必備模塊。
最好只是失敗,並給出一個很好的解釋。用戶可能更喜歡以根用戶身份運行cpan
,因此它可供機器上的所有人使用。或者,也許他們需要讓系統管理員爲他們做。
我發現我可以做這樣的事情:
our $missingModuleFlag;
BEGIN {
eval { require My::Mod; };
our $missingModuleFlag = [email protected] if ([email protected]);
}
[...]
our $missingModuleFlag; #Package Variable -- Value is from above
if ($missingModuleFlag) {
die <<EOM;
ERROR: You are missing module "My::Mod" which is required for
this program. Please use "cpan" to download this module
and install it on this server. If you have no idea what
I am talking about, see http://www.cpan.org/modules/INSTALL.html.
If that doesn't make any sense to you, then ask a system administrator.
EOM
}
它說明了什麼問題,需要做什麼,併爲用戶提供了一個選擇,要麼與安裝繼續,或要求別人爲他們做。
5
除了此question中討論的多種方法之外,還可以考慮將必備模塊與代碼捆綁在一起。有幾種選擇可供您使用PAR
,PAR::Packer
和其他。
相關問題
- 1. Maven:在程序集中包含使用的依賴項的POM
- 2. 在使用maven的tar程序集中包含Jar依賴項
- 3. 如何在包含Gradle的JAR中包含單個依賴項?
- 4. 如何打包我的Perl應用程序的依賴項以進行部署?
- 5. 使用maven,如何在包中包含jar依賴項?
- 6. Perl的CPAN安裝 - 依賴問題
- 7. Perl:不能使用cpan安裝依賴項
- 8. Rails:如何包含gem依賴項?
- 9. 如何包含傳遞依賴項
- 10. 如何捆綁包括依賴項的Python應用程序?
- 11. BizTalk導出應用程序MSI中是否包含任何依賴項?
- 12. 包含在Spring中的依賴項
- 13. 在Ruby gem中包含Python依賴項
- 14. 如何在maven程序集中包含依賴文件
- 15. Odoo 10 - 如何在__manifest__中包含Python包依賴項?
- 16. Gradle - 從包含庫中覆蓋依賴項(排除依賴項)
- 17. 如何在Android Studio項目中包含庫模塊依賴項?
- 18. 如何在部署Perl項目之前確定CPAN依賴關係?
- 19. 如何在頭文件中包含依賴項而不將其包含在包含頭文件的項目中
- 20. 如何在Play中包含「提供的」依賴項! framework 1.x
- 21. 如何在我的eclipse(juno)項目中包含依賴類?
- 22. ECL如何在可執行文件中包含ASDF依賴項?
- 23. 如何將geoscript作爲依賴包含在Scala intelliJ項目中?
- 24. 如何在XCode模板中包含靜態庫依賴項?
- 25. 如何在多項目grails/gradle構建中包含依賴jar?
- 26. 如何在java webstart項目中包含jar依賴關係
- 27. 如何包含常春藤依賴項及其所有依賴項?
- 28. CPAN模塊的遞歸依賴,如何?
- 29. Rails應用程序到包括gem依賴項的獨立程序包
- 30. 如何遞歸檢查包含其他依賴項的文件包含依賴項的數組?
http://stackoverflow.com/questions/1094125/try-to-use-module-in-perl-and-print-message-if-module-not-available – 2011-07-26 21:21:31