perl – cpan模块的目录结构
我正在研究我想在CPAN中提交的perl模块.
但是我对模块的目录结构有一个小查询. 根据perlmonk article,模块代码目录结构应如下所示: Foo-Bar-0.01/Bar.pm Foo-Bar-0.01/Makefile.PL Foo-Bar-0.01/MANIFEST Foo-Bar-0.01/Changes Foo-Bar-0.01/test.pl Foo-Bar-0.01/README 但是当我使用该命令时,结构生成如下 h2xs -AX Foo::Bar Writing Foo-Bar/lib/Foo/Bar.pm Writing Foo-Bar/Makefile.PL Writing Foo-Bar/README0 Writing Foo-Bar/t/Foo-Bar.t Writing Foo-Bar/Changes Writing Foo-Bar/MANIFEST 解决方法
有问题的文章提倡一个相当旧的模块结构.它当然可以使用,但它在良好的测试,构建和分发实践方面已经失去了很多进步.
打破差异: >模块已从顶层移动到lib /目录.这统一了模块“存在”的位置(即,您处理代码并创建要测试并最终分发的基线模块的位置).它还可以更轻松地设置您需要的任何层次结构(例如子类或辅助模块);较新的设置只会选择这些.较老的可能,但我不熟悉它说是或否. 正如您对问题的评论中所建议的那样,使用Module :: Starter或Dist :: Zilla(警告Dist :: Zilla是基于Moose并将安装大量的先决条件)是一种更现代化的模块构建方法办法.在这两者中,h2xs版本更接近现代包装标准,但你最好使用推荐的软件包启动器选项之一(可能是Module :: Build,它使用Build Perl脚本而不是Makefile来构建码). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |