我想分发我的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