Я очень новичок в Perl. Я пытаюсь установить некоторые модули с помощью cpan.
Каждый раз использую install YAML
Я получаю следующее
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
Вот еще один пример. Когда я использую cpan YAML::Tiny
, я получаю
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
Там написано 'gmake' is not recognized as an internal or external command
, поэтому я бы сначала попробовал установить Gnu Make. Многие модули Perl основаны на make
.
Хорошо, теперь я могу запускать команды make в CMD, но не в gmake, который использует cpan. Знаете ли вы, как решить эту проблему? @Роберт
Нет, извините, я не использую Windows или Visual Studio. Может быть, вы сможете создать gmake.bat
, который просто звонит make
.
Какой Perl вы используете? По моему опыту, Strawberry Perl лучше подходит для Windows.
Я использую Activestate, а не Strawberry.
@TLP Установка Strawberry Perl вместо activestate решила проблему. Большое спасибо !
@OmarMohsen У меня была такая же проблема с ActiveState. Я перешел на Strawberry, и больше никаких проблем. Если хотите, вы можете написать ответ на свой вопрос, чтобы он был решен.
ActivePerl ожидает, что вы будете использовать его инструмент state
для установки модулей, поскольку частью их ценностного предложения является то, что репозиторий, которым они управляют, известен и безопасен.
Strawberry Perl действует как стандартная настройка Perl, где вы можете использовать cpan
(или cpanm
) и использовать различные сторонние элементы, такие как gmake
, чтобы это работало.
Я использую Windows. Версия Perl (я установил ее из vstudio)