Module::Build 测试在不同系统的不同目录中查找

Module::Build test looks in different directories on different systems

我正在尝试将 Perl Mojolicious 项目从开发系统安装到暂存系统。在暂存系统 (Centos) 上,测试在错误的位置查找配置文件。也就是说,例如

./Build test --test-files t/001_basic.t

错误

t/001_basic.t .. 1/? Configuration file "/home/randall/git/Project/blib/project.json" missing, maybe you need to create it?

在开发系统 (Ubuntu) 上,相同的 Build test 命令正在从父目录中读取配置文件(即 /home/randall/git/Project/project.json)这就是我想要的。

我已经排除了工作目录可能的罪魁祸首,并重新运行 perl Build.PL,重新生成构建脚本。

我错过了什么会导致 暂存系统在 blib 目录中查找?

编辑:补充说开发是 Ubuntu,登台是 Centos,但我不认为这是一个因素

一般来说,您不能对给定的当前工作目录做出假设。

use Cwd            qw( abs_path );
use File::Basename qw( dirname );

use constant PROJ_DIR => dirname(abs_path(__FILE__)) . '/..';

my $config_qfn = PROJ_DIR.'/project.json';