gpt4 book ai didi

Perl 模块依赖于一个二进制文件,为什么即使使用 CheckBin,在 FreeBSD 上测试也会失败?

转载 作者:行者123 更新时间:2023-12-02 02:40:27 26 4
gpt4 key购买 nike

我制作了一个 Perl 模块 (Qiime2::Artifact),它严重依赖于“unzip”二进制文件来工作[1]。

模块在这里:https://metacpan.org/pod/Qiime2::Artifact

为了声明依赖关系,我使用了 Distzilla 的 CheckBin 插件:

[CheckBin]
command = unzip

这导致 Makefile.PL 中的这一部分:

# inserted by Dist::Zilla::Plugin::CheckBin 0.008
use Devel::CheckBin;
check_bin('unzip');

问题是测试在 FreeBSD 中失败(可能还有其他平台,我只在 Linux 和 Darwin 下测试):http://matrix.cpantesters.org/?dist=Qiime2-Artifact+0.10.5看起来它是解压缩问题,显然二进制文件不存在,或者至少我可以告诉执行“解压缩”返回非零。

1) 天真的问题:解压缩在 BSD 下不常用还是有其他解释?

2) 更重要的问题:为什么 CheckBin 模块没有阻止安装/测试?或者它是否正常工作并且二进制文件确实存在但我遗漏了一些其他

感谢任何建议/指导。

[1] 我检查了一些 Perl 模块以避免直接执行解压缩,但没有一个模块提供整套功能(例如通过管道将存档的单个文本文件传输到标准输出)或所需的性能。

最佳答案

从你们所有人那里收到的宝贵提示(特别感谢@Grinnz),看来:

  • unzip 在 BSD 中很常见,但有不同的风格发布
  • CheckBin 确实在工作,它只是二进制文件本身以一种意想不到的方式表现(特别是如果被调用则以非零状态退出,我必须说即使不是看不见也很烦人)

最后评论: - Archive::Zip 是一个很好的提示,但我不会采用它,因为 Alien 模块在 MacOS 下越来越难安装。我可能会改变主意,将它们放入 miniconda 中,这对解决这个问题有很大帮助。

关于Perl 模块依赖于一个二进制文件,为什么即使使用 CheckBin,在 FreeBSD 上测试也会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59944250/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com