我正在使用 Devel::Cover 来收集我在 Linux 上的 perl 覆盖率,但是当我尝试切换用户时遇到了问题。以下是重现步骤:
- 有 2 个用户:user1 和 user2 并设置
$PERL5OPT=-MDevel::Cover=-db,
[覆盖文件夹路径] - 以 user1 身份登录并将 test.pl 放在
/home/user1/
- 运行 perl
/home/user1/test.pl
- 通过运行
"sudo su - user2"
切换到 user2
错误消息 “Devel::Cover:无法打开 MD5 摘要的 test.pl:没有这样的文件或目录”
在用户更改后立即出现
我尝试通过在 PERL5OPT 中设置参数来使其工作,例如:
export PERL5OPT=-MDevel::Cover=-db,[path to coverage folder],+inc,/var/home,/home
但是没有用,有人可以帮忙吗?
最佳答案
好吧,最后我自己想出了一个解决方案 - 只包含我想使用“-dir”收集覆盖率信息的文件夹:
export PERL5OPT=-MDevel::Cover=-db,[path to coverage folder],-dir,[Paths of perl scripts to cover]
关于perl - "Devel::Cover: Can' t 打开 test.pl 用于 MD5 摘要 : No such file or directory"after switching user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9075167/