问题描述
我正在开发一个不能在 Windows 上运行的 Perl 模块,以防止 CPAN 测试人员在 Windows 上失败 我想使用从 Makefile 生成的分发中的元文件来防止模块被安装或测试在 Windows 上。
如果情况相反(模块仅适用于 Windows)指定对 Win32 的依赖将使其仅可安装在 Windows 上。
另外如果模块转为dist::Zilla,也需要相应的dist.ini解决方案。
解决方法
虽然这不是一个非常优雅的解决方案,但推荐的方法是在 Makefile.PL 或 Build.PL(或测试文件中的 BAIL_OUT)中死亡,并显示以下消息之一:
不支持操作系统
不支持操作系统
,另一种方法是添加对 Platform::Unix 或 Platform::Windows 的依赖。
这样做的好处是,当您的模块上传到 CPAN 时,人们会在依赖项中看到“Platform::Whatever”,因此您的模块需要什么平台一目了然。