Клубничный Perl CPAN dmake не будет строить

У меня возникла проблема при установке модулей CPAN с использованием 64-разрядной и более поздних версий strawberry perl 5.16.2.2. При установке из CPAN dmake не может собрать модуль со следующей ошибкой:

dmake.exe:  Error executing 'C:\Windows\system32\cmd.exe; /c C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e mkpath -- blib\lib\MIME': No such file or directory
dmake.exe:  Error code -1, while making 'blib\lib\MIME\.exists'

После обширных исследований я обнаружил, что решение этой проблемы - добавить SHELL=cmd.exe в начало файла Makefile dmake, созданного perl Makefile.PL, и затем модуль можно установить с помощью

dmake 
dmake install

Проблема в том, что никакие модули CPAN не будут устанавливаться автоматически без попытки установки CPAN, редактирования файла Makefile и запуска dmake вручную в каталоге cpan/build. Использование переменной окружения SHELL=cmd.exe или MAKESHELL=cmd.exe НЕ работает, так как сборка работает неправильно, если используется.

Кто-нибудь знает решение, почему на моей 64-битной машине с Windows 7 возникла эта проблема?

Существует ли какая-либо конфигурация для cpan или какой-либо другой техники, так что мне не нужно вручную редактировать и запускать make-файл dmake для каждого модуля CPAN для моей установки клубничного perl?

2 ответа

У вас уже был установлен dmake (MinGW)? Для меня это прекрасно работает на стандартной 64-битной Windows-установке.

Кроме того, ваш каталог Perl в пути? Если вы этого не сделаете, вам может потребоваться перезагрузить компьютер перед установкой модулей CPAN (действительно!).

Кажется, что ваш путь является проблемой:

blib\ Lib\MIME

Относительные пути в MS Windows начинаются с ". \"

. \ Blib\ Lib\MIME

Я бы порекомендовал вам сначала попробовать абсолютный путь. Если это работает, попробуйте относительный.

Другие вопросы по тегам