Windows XP'de CPAN Sorunları

Windows kutusunda birkaç Perl modülünün kurulumunu yapacağım. Bu bir müşteri UAT kutusu, bu yüzden nasıl yapılandırıldığını veya kim tarafından yapıldığını bilmiyorum. Dev kutusuna yüklemeyi yaptık ve her şey reklamı yapılan gibi çalıştı.

Kutu Cygwin kullanıyor ve yüklü Perl 5.8.8 var. Cygwin'i güncelleyemiyorum veya yeniden yükleyemiyorum. Sahip olduğum şeyi kullanmalıyım.

Spreadsheet :: Read'u sistemde yüklemeyi denedim ve aşağıdaki hatayı aldım:

  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

Ne? Perl 5'i bulamadı mı? İşte orada Cygwin'de /usr/bin/perl.exe var!

Ayrıca make ile ilgili bir sorun var, ama bir seferde bir şey ... gcc Cygwin'de yüklü, bu bir sorun değil.

Ne halt oluyor? /cygdrive/p/.cpan adresinde .cpan var, ancak HOME dizinin orada tanımlanmış olması nedeniyle. (Bu kurumsal bir şey).

Herhangi bir fikir?

Spreadsheet :: Read , Spreadsheet :: ParseExcel ve Spreadsheet :: XLSX 'i yüklemem gerekiyor. CPAN bunu yapmıyorsa veya derlenmiş bir şeyler gerekliyse, kurulumu kısaltmak mümkün mü? Unutma, Make de hareket ediyor.


Strawberry Perl'i kullanabilir ve Cygwin baş ağrılarını geride bırakabilir misin?

Ben zaten sordum. Cevap hayır.

5.8.8'inizin olduğunu ancak perl5.8.7.exe dosyasını aradığını söylüyorsunuz. $ PATH’u gönderin.

Perl 5.8.7. Benim hatam.

Yol:

/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

Hangi koşulun bu mesajı görüntülediğini kontrol ettiniz mi?

Çok fazla bir durum yoktu. Her şey o mesajı indirdi.

Perl -le'print'in çıkışı nedir ((-x "/usr/bin/perl.exe") || 0) '

Kazandınız: İzinler -rwx ------ idi. Bunu özlediğime inanamıyorum.

/usr/bin/perl.exe -e'nin çıktısı nedir? 5 gerektirir; baskı qq {VER_OK \ n} "- ikegami 1 saat önce

VER_OK


Bazı nedenlerden dolayı,/usr/bin/perl çalıştırabiliyordum ve kesinlikle CPAN'ın (Perl programı değil) olması gerekiyordu, ama CPAN aradığı zaman izinleri bulamadı. dağılmış.

2
Strawberry Perl'i kullanabilir ve Cygwin baş ağrılarını geride bırakabilir misin?
katma yazar Eric Strom, kaynak
Sorunu buldum. ikegami doğru yoldaydı. Cygwin asla doğru takılmamıştı. Perl üzerindeki izin -rwx ------ idi ve grup mkgroup idi. Bir chmod yaptı ve şimdi her şey gayet iyi çalışıyor.
katma yazar David W., kaynak
@ikegami: Gerçek bir Cevap verebilir misiniz, bu yüzden size kredi verebilirim?
katma yazar David W., kaynak
Hangi koşulun bu mesajı görüntülediğini kontrol ettin mi?
katma yazar ikegami, kaynak
perl -le'print ((-x "/usr/bin/perl.exe") çıktısı nedir? 0) '
katma yazar ikegami, kaynak
/usr/bin/perl.exe -e'nin çıktı alması gereken 5; baskı qq {VER_OK \ n} "
katma yazar ikegami, kaynak
5.8.8'iniz olduğunu, ancak perl5.8.7.exe aradığını söylüyorsunuz. $ PATH 'ı gönderin.
katma yazar Sinan Ünür, kaynak

2 cevap

Mesaj ExtUtils :: MakeMaker'dan geliyor. İleti, -e "gerektirebilen bir dizin (! -D) değil, bir çalıştırılabilir (-x) bulunmamasından kaynaklanır; 5; baskı qq {VER_OK \ n}" .

Yani, Perl'inizin izinlerini kontrol et,

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

ve yukarıdaki sonuçların doğru olması ihtimaline karşı, aşağıdakilerin çalıştığından emin olun:

/usr/bin/perl.exe -e "require 5; print qq{VER_OK\n}"
2
katma
-x /usr/bin/perl.exe , izinler nedeniyle başarısız oldu. Bunun bir izin problemi olduğunu düşünmedim çünkü Cygwin koştu ve Perl orada olmasaydı kesinlikle olmazdı. Ayrıca hangi ve /usr/bin/perl gösterildi. Ve, /usr/bin/perl -V yazarak da bulduğu her şeyi yazdı. İzinler düzeltildi, modüller kuruldu ve elektronik tabloları dönüştürebiliyorum. Informatica'nın sistemlerinde birileri de Informatica'nın betiği çalıştırabildiğini kontrol edecektir.
katma yazar David W., kaynak

Biliyorum artık biraz geç (üzgünüm, sadece bir soru gördüm), ve bu gerçekten sorunuzu cevaplamıyor, ama üzerinde çalıştığınız makineyle uğraşmayacağınız durumlar için, Bazı problemler için güzel bir çözüm olmak için portatif çilek perl .

1
katma
Sorun şu ki bu benim kullanımım için bir makine değil. Bu, müşterilerimizden biri için bir UAT makinesidir. Cygwin'de kabuk betiklerini yürütmek için Informatica kullanıyoruz. Excel e-tablolarını CSV'ye dönüştürmenin bir yoluna ihtiyacımız vardı, böylece bilgileri ayrıştırmak için kabuk komut dosyaları yazabilsinler. Perl'in bu jus'u yapabileceğini söyledim. Bununla birlikte, gerekli Perl modüllerinin kurulumu işe yaramadı. Cygwin'in asla doğru şekilde kurulmadığı ve izinlerin tuhaf olduğu ortaya çıkıyor.
katma yazar David W., kaynak
@DavidW. - Informatica'yı duyduğumu söyleyemem ama evet hikayeyi yorumlardan ve cevabınızdan aldım. "Senin makinen değil" - şapka neden önerdim; Sorunlarınız için daha hızlı bir çözüm gibi görünüyordu ve daha sonra her zaman alabilir veya daha sonra silebilirsiniz. Her neyse, senin sorununun çözüldüğüne sevindim.
katma yazar Rook, kaynak