#windows #perl #cpan #pam #strawberry-perl
#Windows #perl #cpan #pam #strawberry-perl
Вопрос:
Пытаюсь установить модуль PAM на компьютер с Windows 10. в настоящее время не очень повезло. не уверен, почему я получаю эту ошибку.
cpan> install Authen::PAM
Running install for module 'Authen::PAM'
Checksum for C:STRAWB~1cpansourcesauthorsidNNINIKIPAuthen-PAM-0.16.tar.gz ok
Configuring N/NI/NIKIP/Authen-PAM-0.16.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
'.' is not recognized as an internal or external command,
operable program or batch file.
Error in configuring the Authen::PAM module.
Warning: No success on command[C:Strawberryperlbinperl.exe Makefile.PL]
NIKIP/Authen-PAM-0.16.tar.gz
C:Strawberryperlbinperl.exe Makefile.PL -- NOT OK
Stopping: 'install' failed for 'Authen::PAM'.
Failed during this command:
NIKIP/Authen-PAM-0.16.tar.gz : writemakefile NO 'C:Strawberryperlbinperl.exe Makefile.PL' returned status 512
Комментарии:
1.
.
является встроенной командной оболочкой в системах Unix / Linux. Похоже, этот модуль не может быть установлен в Windows. Хотя вы могли бы заставить Bash работать в Windows, это, скорее всего, не поможет, потому что библиотека PAM все равно не поддерживает Windows.2. @amon, на самом деле он использует
./confgiure
, а не.
. Windows принимает это за программу.
с аргументом/configure
. Однако заменаsystem("./configure")
наsystem('"./configure"')
,system(".\configure")
илиsystem("configure")
не сработает. Все они выполнят включенныйconfigure
скрипт по назначению, за исключением того, что это скрипт Bourne shell, поэтому он не будет работать.
Ответ №1:
Модуль не поддерживает Windows.
В частности, ошибка возникает из-за того, что установщик модуля несовместим с Windows. Он пытается выполнить команду Bourne shell для вызова сценария Bourne shell, а на вашем компьютере такой оболочки нет. Даже если бы вы могли установить такую оболочку, это не помогло бы. Скрипт в значительной степени предназначен только для систем unixy.[1]
- Существуют способы создания unixy-сред в Windows. Виртуальные среды, такие как созданные подсистемой Windows для Linux (WSL), Cygwin и MSYS, могут поддерживать модуль, но
perl
из этих сред придется использовать.