Module::Build with L

miyagawa edited this page Jun 15, 2011 · 7 revisions

NOTE: cpanminus version 1.4008 or later delays the bootstrapping of Module::Build, so this won't happen till you first encounter modules that use Module::Build.

When you use -L option, the first thing cpanm tries to install might be always Module::Build and its dependencies such as CPAN::Meta, version and JSON, even if you don't ask for it. This happens if you have perl older than 5.14, and have upgraded Module::Build in your perl include path.

Upgrading Module::Build to the latest version in your new local::lib directory is to make sure you have a loadable Module::Build in your new library path, instead of loading it from the core library path. I know it is kind of annoying but it's the only way to get the dependencies right and avoid runtime build errors of Module::Build, because Module::Build 0.3622 or later has dependencies onto non-core modules (for < 5.14) such as Perl::OSType and CPAN::Meta, which should be separately installed.

This problem doesn't happen with perl 5.14 where Module::Build 0.38 and its all dependencies go to core library path.