Probleme mit der CPAN-Shell und die Lösung

| 3 Kommentare | Keine TrackBacks

Letztens hatte ich ein paar Probleme mit dem CPAN unter der Strawberry-Perl-Installation unter Windows auf einem Laptop vom Kunden. Mit Windows zu arbeiten ist ja meistens schon Strafe genug, es scheint aber, dass diese Probleme nicht nur mit Strawberry-Perl auftreten:

Bei dem Versuch der Installation eines Modules kam die folgende Fehlermeldung:

Can't call method "value" on an undefined value at c:/strawberry/perl/lib/IO/Uncompress/RawInflate.pm line 64

Die CPAN-Shell konnte noch nicht mal die Modulliste auspacken geschweige denn irgendwas installieren. Die Lösung war dann nach langem Probieren: Die Version 2.008 von IO::Uncompress::RawInflate (in IO-Compress-Zlib) und alle Abhängigkeiten bzw. die weiterem IO::(Un)Compress::*-Module habe ich manuell auf die Version 2.011 aktualisiert und dann ging wieder alles.

Ergänzung: Unter Linux oder einem Unix-ähnlichen System mit lokalem gzip/bzip2 könnte es auch klappen, die Module zu löschen, so dass Perl ein lokales CLI gunzip/bunzip2 nimmt.

 

Zuvor hatte ich noch ein anderes Problem:

cpan> install Foo::Bar
DBD::SQLite::db prepare failed: no such table: dists(1) at dbdimp.c line 271 at C:\strawberry\perl\site\lib/CPAN/SQLite/
DBI/Search.pm line 86, <IN> line 2.
Catching error: 'DBD::SQLite::db prepare failed: no such table: dists(1) at dbdimp.c line 271 at C:\\strawberry\\perl\\s
ite\\lib/CPAN/SQLite/DBI/Search.pm line 86, <IN> line 2.
' at C:/strawberry/perl/lib/CPAN.pm line 281
        CPAN::shell() called at C:\strawberry\perl\bin/cpan.bat line 211

Da war die SQLite-Datenbank, in der das CPAN.pm optional die Metadaten ablegt (use_sqlite-Konfiguration), kaputt. Möglicherweise wird die zerschossen, wenn die CPAN-Shell an der falschen Stelle abgewürgt wird (bei mir: hatte vergessen mich ins VPN des Kunden einzuwählen, und ohne geht dessen Proxy natürlich nicht).

Die Lösung ist dann meist, die Datenbank oder gar alles im CPAN-Ordner zu löschen. Bei Strawberryperl liegt das unter C:\strawberry\cpan\, bei anständigen Betriebssystemen unter ~/.cpan/.

 

 

Keine TrackBacks

TrackBack-URL: http://www.perl-blog.de/mt/mt-tb.cgi/127

3 Kommentare

Ja, Windows ist schon so eine Sache für sich: Wenn man Perl unter Cygwin benutzt, liegt die CPAN::Config.pm unter /usr/lib/perl5/5.8, nicht etwa als MyConfig.pm unter ~/.cpan/CPAN ... Das verwirrt mich doch immer wieder ;-).

Also, ich kenne das auch als /path/to/lib/CPAN, habe aber auch schon mal was entsprechendes in ~/.cpan/ gefunden. Welcher Logik das folgt habe ich aber nicht analysiert ;-)

Aber zurück zu Windows: Auch mit Strawberryperl oder Cygwin ist das zusammen mit Perl nicht das Wahre. Ein Unix ist mir da doch deutlich lieber. Und mit OS X geht das ja auch komfortabel ;-)

Ja, es stimmt unter Linux (Debian 5.0) hat es fuer mich funktioniert, einfach das Modul IO::Uncompress::RawInflate zu loeschen

Jetzt kommentieren

Aktuelle Kommentare

  • Niels Dettenbach: ...schade eigentlich, das es PyPerl nicht mehr wirklich gibt. Zwar weiter lesen
  • Alvar Freude: Kannte ich noch nicht, danke für den Hinweis; allerdings ist weiter lesen
  • Ben Sieverts: Ich vermisse noch folgendes Buch auf der List: Effective Perl weiter lesen
  • Alex: Ich schlage einfach mal ganz unverschämt bei diesem Beitrag die weiter lesen
  • Marcel: Oke, danke für den Tipp. Schade natürlich. Wird euer Buch weiter lesen
  • Alvar: Nein, leider ist das noch nicht fertig. :-( Es gibt weiter lesen
  • Marcel : Hallo! gibt es dein Buch zu Perl6 schon? Wo kann weiter lesen
  • air max 2009: Nimm ein Paradigma deiner Wahl (z.b. MVC) und lerne Applikationscode weiter lesen
  • vTasker: Was ist das denn für ein MIST? Der Artikel ist weiter lesen
  • Virenschutz-Test: Das ist ja lustig hihi. Der Admin ist wohl nicht weiter lesen

Über diese Seite

Diese Seite enthält einen einen einzelnen Eintrag von Alvar Freude vom 26.06.08 14:06.

Perl Bücher für den Einsatz (nicht nur) in Unternehmen ist der vorherige Eintrag in diesem Blog.

Einfacherer Code mit Autovivification ist der nächste Eintrag in diesem Blog.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.