Note that, per CPAN::Meta::Spec, when a plain version number is given, it means the version or newer is required. If you want a specific version for a module, use the specific range syntax, i.e. == 2.1 .

on

on $phase => sub { ... };

Describe requirements for a specific phase. Available phases are configure, build, test, runtime and develop.