perlcpanactiveperl

Can't install YAML with cpan


I am very new to Perl. I am trying to install some modules with cpan. Everytime I use install YAML I get the following

Failed during this command:
 RJBS/Test-Deep-1.204.tar.gz                  : make NO
 INGY/Spiffy-0.46.tar.gz                      : make NO
 RJBS/Algorithm-Diff-1.201.tar.gz             : make NO
 INGY/Test-Base-0.89.tar.gz                   : make NO
 INGY/YAML-1.31.tar.gz                        : make NO
 NEILB/Text-Diff-1.45.tar.gz                  : make NO
 TINITA/Test-YAML-1.07.tar.gz                 : make NO

Here is another example. When I use cpan YAML::Tiny I get

Loading internal logger. Log::Log4perl recommended for better logging
Reading 'C:\Users\omars\.cpan\Metadata'
  Database was generated on Sat, 10 Aug 2024 14:41:02 GMT
Running install for module 'YAML::Tiny'
Checksum for C:\Users\omars\.cpan\sources\authors\id\E\ET\ETHER\YAML-Tiny-1.74.tar.gz ok
'YAML' not installed, will not store persistent state
Configuring E/ET/ETHER/YAML-Tiny-1.74.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a gmake-style Makefile
Writing Makefile for YAML::Tiny
Writing MYMETA.yml and MYMETA.json
  ETHER/YAML-Tiny-1.74.tar.gz
  C:\Users\omars\AppData\Local\ActiveState\cache\5a8e6838\bin\perl.exe Makefile.PL -- OK
Running make for E/ET/ETHER/YAML-Tiny-1.74.tar.gz
'gmake' is not recognized as an internal or external command,
operable program or batch file.
  ETHER/YAML-Tiny-1.74.tar.gz
  gmake -- NOT OK

Solution

  • ActivePerl expects you to use its state tool on install modules since part of their value proposition is that the repository they manage is known and safe.

    Strawberry Perl acts like the standard Perl setup where you can use cpan (or cpanm), and come with the various third-party things, such as gmake, to let that work.