Проблемы CPAN в Windows XP - PullRequest
       35

Проблемы CPAN в Windows XP

2 голосов
/ 28 октября 2011

Я предполагаю сделать установку нескольких модулей Perl на коробке Windows. Это пользовательский блок UAT, поэтому я не знаю, как он был настроен и кем. Мы выполнили установку на устройство Dev, и все работало так, как рекламировалось.

На устройстве запущен Cygwin, и на нем установлен Perl 5.8.8. Я не могу обновить его или переустановить Cygwin. Я должен использовать то, что у меня есть.

Я попытался установить Spreadsheet :: Read в системе и получил следующую ошибку:

  CPAN.pm: Going to build F/FD/FDALY/Test-Tester-0.107.tar.gz

 Checking if your kit is complete...
 Looks good
 Unable to find a perl 5 (by these names: /usr/bin/perl.exe perl.exe perl5.exe pe
 rl5.8.7.exe miniperl.exe, in these dirs: /usr/local/bin /usr/bin /bin /usr/X11R6
 /bin /cygdrive/d/oracle/product/10.2.0/client_1/bin /cygdrive/c/WINDOWS/system32
 /cygdrive/c/WINDOWS /cygdrive/c/WINDOWS/System32/Wbem /usr/bin /cygdrive/d/APPL
 IC~1/MCAFEE~1 /cygdrive/d/Applications/PowerCenter8.6.1/server/bin /usr/lib/lap

Что? Не может найти Perl 5? Там это прямо в /usr/bin/perl.exe в Cygwin!

Существует также проблема с make, но одна вещь за раз ... gcc установлена ​​на Cygwin, так что это не проблема.

Что, черт возьми, происходит? У меня есть .cpan в /cygdrive/p/.cpan, но это потому, что там определен мой каталог HOME. (Это корпоративная вещь).

Есть идеи?

Мне нужно установить Spreadsheet::Read, Spreadsheet::ParseExcel и Spreadsheet::XLSX. Можно ли изменить установку, если CPAN не делает этого, или требуются скомпилированные материалы? Помните, что Мак тоже играет.


Есть ли шанс, что вы сможете использовать Strawberry Perl и оставить позади головную боль Cygwin?

Я уже спросил. Ответ - нет.

Вы говорите, что у вас есть 5.8.8, но он ищет perl5.8.7.exe. Разместите $ PATH.

Это Perl 5.8.7. Виноват.

Путь:

/usr/local/bin
/usr/bin
/bin
/usr/X11R6/bin
/cygdrive/d/oracle/product/10.2.0/client_1/bin
/cygdrive/c/WINDOWS/system32
/cygdrive/c/WINDOWS
/cygdrive/c/System32/Wbem
/usr/bin
/cygdrive/d/APPLIC~1/MFAFEE~1
/cygdrive/d/ApplicationsPowerCenter8.6.1/server/bin
/usr/lib/lapack

Вы проверяли, в каком состоянии на самом деле отображается это сообщение?

Там не было много условий. Он загрузил все то сообщение.

Что выводит perl -le'print ((-x "/usr/bin/perl.exe") || 0) '

Вы выиграли: разрешения были -rwx------. Я не могу поверить, что я пропустил это.

Что выводит /usr/bin/perl.exe -e "требуется 5; выведите qq {VER_OK \ n}" - ikegami 1 час назад

VER_OK


По какой-то причине я смог выполнить / usr / bin / perl, и, конечно, CPAN должен был (не программа Perl?), Но когда CPAN искал его, он не мог найти его, потому что разрешения были перепутаны.

Ответы [ 2 ]

2 голосов
/ 28 октября 2011

Сообщение приходит от ExtUtils :: MakeMaker.Сообщение возникает из-за отсутствия исполняемого файла (-x), который не является каталогом (! -D), который может запускать -e "require 5; print qq{VER_OK\n}".

Итак, проверьте разрешения вашего Perl,

perl -le'print( (-x "/usr/bin/perl.exe") || 0 )' 

и при вероятности того, что вышеприведенное вернет true, убедитесь, что выполняется следующее:

/usr/bin/perl.exe -e "require 5; print qq{VER_OK\n}"
1 голос
/ 28 октября 2011

Я знаю, что уже немного поздно (извините, только что увидел вопрос), и это действительно не отвечает на ваш вопрос, но для ситуаций, когда вы не можете "связываться" с машиной, над которой вы работаете, я портативный клубничный Perl оказался хорошим решением для некоторых проблем.

...