在 Linux/类似 Linux 的环境中是否有一种简单/干净的方法可以做到这一点?
目的
我的目标是仅在安装阶段而不是在获取/制作/测试阶段以管理员权限运行 CPAN。
CPAN 配置项 make_install_make_command
和mbuild_install_build_command
处理这个。更改它们以启用sudo
支持。
假设您为此使用 CPAN.pm,我有一个有点非正统的建议。
创建一个 CPAN.pm 的子类,它实际上将与它一起工作的每个模块的结果/阶段发布到注册表(通过提供的回调 API 以使注册表实现灵活)。
然后,您只需检查该注册表。
(或者您可以尝试将其作为补丁放入 CPAN.pm 本身)
为了记录一种看起来很有希望但行不通的方法 - shell 命令:
寻找 。-type d -mindepth 1 -maxdepth 1 -print | 同时读取-r DIR;做推$DIR;使-q; MK=$?; 使-q安装;安装=$?;进行-q测试;tst=$?; echo 目录 "$DIR $mk $inst $tst"; 弹出;完成| fgrep -ve /构建
当在 cpan 构建目录中执行时,列出了 make -q 的退出状态,用于“”、“测试”和“安装”,这表明该 make 目标是否需要任何工作才能实现。
但是它们都有非零退出状态,这意味着如果你执行它们,它们都会做一些事情,即使 make 已经成功完成。所以你不能这样说。