Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The clue was in this line of your quoted output:</p> <pre> Can't locate DBI/DBD.pm in @INC... </pre> <p>You'll be seeing this type of error a lot as you develop in Perl! It means that you are missing a module dependency, generally because the module hasn't been installed from CPAN.</p> <p>Therefore, you need to install <a href="http://search.cpan.org/perldoc/DBI::DBD" rel="noreferrer">DBI::DBD</a> first before <a href="http://search.cpan.org/perldoc/DBD::mysql" rel="noreferrer">DBD::mysql</a>. There are <a href="http://search.cpan.org/perldoc/DBI::DBD#Pure_Perl_version_of_Makefile.PL" rel="noreferrer">some complicated reasons</a> why this isn't installed automatically by <code>cpan</code> as a prerequisite (usually when installing a module or distribution, it will automatically install all its dependencies):</p> <blockquote> <p>PREREQ_PM tells MakeMaker that DBI (version 1.03 in this case) is required for this module. This will issue a warning that DBI 1.03 is missing if someone attempts to install your DBD without DBI 1.03. See CONFIGURE below for why this does not work reliably in stopping cpan testers failing your module if DBI is not installed.</p> <p>CONFIGURE is a subroutine called by MakeMaker during WriteMakefile. By putting the require DBI::DBD in this section we can attempt to load DBI::DBD but if it is missing we exit with success. As we exit successfully without creating a Makefile when DBI::DBD is missing cpan testers will not report a failure. This may seem at odds with PREREQ_PM but PREREQ_PM does not cause WriteMakefile to fail (unless you also specify PREREQ_FATAL which is strongly discouraged by MakeMaker) so WriteMakefile would continue to call dbd_dbi_arch_dir and fail.</p> </blockquote> <p>You can install both modules at once with:</p> <pre> sudo -H cpan DBI::DBD DBD::mysql </pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload