CPAN Праблемы на Windows XP

Я выкажу здагадку, што рабіць Інсталяцыйны з некалькіх модуляў 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!

Там жа праблема з замыкальнымі, але адна рэчы, у той час ... НКА ўсталяваная на Cygwin, так што гэта не праблема.

Што, чорт вазьмі, адбываецца? У мяне ёсць .cpan ў /cygdrive/p/.cpan , але гэта таму, што мой HOME Каталог вызначаецца там. (Гэта карпаратыўная рэч).

Любая ідэя?

Мне трэба ўсталяваць Spreadsheet :: Чытанне , Spreadsheet :: ParseExcel і Spreadsheet :: XLSX . Ці можна munge ўстаноўкі, калі 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; друк кв.кв {VER_OK \ п}" - Ikegami 1 час назад

VER_OK


Па нейкай прычыне, я быў у стане выканаць/USR/BIN/Perl, і, вядома ж CPAN прыйшлося (не гэта праграма Perl?), Але калі CPAN шукаў яго, ён не мог знайсці гэта таму, што дазволу былі пераблыталіся.

2
Ёсць шанец, што вы можаце выкарыстоўваць Strawberry Perl і пакінуць галаўныя болі Cygwin ззаду?
дададзена аўтар Eric Strom, крыніца
Знайшлі праблему. Ikegami быў на правільным шляху. Cygwin не быў устаноўлены правільна. Дазвол на Perl былі выкарыстаннем rwx ------ , і група mkgroup . Зрабіў CHMOD, і зараз усё працуе проста выдатна.
дададзена аўтар David W., крыніца
@ikegami: Ці можаце вы даць рэальны адказ, так што я магу даць вам крэдыт?
дададзена аўтар David W., крыніца
Вы праверылі, у якім стане на самай справе паказвае, што паведамленне?
дададзена аўтар ikegami, крыніца
Што выхад Perl -le'print ((-x "/usr/bin/perl.exe") || 0)
дададзена аўтар ikegami, крыніца
Што выхад /usr/bin/perl.exe -e "патрабуюць 5; друк кв.кв {VER_OK \ п}"
дададзена аўтар ikegami, крыніца
Вы кажаце, што ў вас ёсць 5.8.8, але ён шукае perl5.8.7.exe . Выкладваю $ PATH .
дададзена аўтар Sinan Ünür, крыніца

2 адказы

Прыходзіць паведамленне ад ExtUtils :: MakeMaker. (! -D) Вынікі паведамленняў ад не знойдучы выкананы файл (-x), які не з'яўляецца каталогам, які можа працаваць -e «патрабуюць 5; друк кв.кв {VER_OK \ п}» .

Такім чынам, праверце дазволу вашага Perl,

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

і на авось, што вышэйпрыведзеныя вяртае ісціну, пераканайцеся, што наступныя трасы:

/usr/bin/perl.exe -e "require 5; print qq{VER_OK\n}"
2
дададзена
<Код> -x /usr/bin/perl.exe не ўдалося з-за дазволу. Я не думаю, што гэта была праблема дазволу, таму што Cygwin пабег, і гэта, вядома, не будзе, калі Perl не было. Я таксама зрабіў , які Perl і /USR/бен/Perl быў паказаны. І, набраўшы /USR/бен/Perl -V таксама раздрукаваныя усё проста знайсці. Дазволы былі ўсталяваныя, устаноўлены модулі, і я магу пераўтварыць табліцы. Хто ж/Informatica ў іх сістэме будзе правяраць, ці можа Informatica таксама запусціць скрыпт.
дададзена аўтар David W., крыніца

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

1
дададзена
Праблема заключаецца ў тым, што гэта не машына для майго выкарыстання. Гэта машына UAT для аднаго з нашых кліентаў. Мы выкарыстоўваем Informatica для выканання сцэнарыяў абалонкі ў Cygwin. Нам патрэбен спосаб пераўтварэння табліц Excel ў CSV, каб яны маглі пісаць скрыпты для разбору інфармацыі. Я прызначалася, што Perl можа зрабіць дэндзі Юс. Тым не менш, усталяваць неабходныя модулі Perl не працуюць. Ён заканчваецца, што Cygwin не была ўсталяваная правільна, а дазволы былі дурацкімі.
дададзена аўтар David W., крыніца
@DavidW. - Не магу сказаць, што я чуў пра Informatica, але так, я атрымаў гэтую гісторыю ад каментароў і вашага адказу. "Не ваша машына» - т капялюш чаму я прапанаваў яго; здавалася, што больш хуткім рашэннем для вашых праблем, і вы заўсёды можаце ўзяць яго/або проста выдаліць яго пасля. Ва ўсякім выпадку, рады, што вы атрымалі ваша праблема вырашана.
дададзена аўтар Rook, крыніца