En utilisant CPAN, j'ai installé GD :: Graph pour créer des graphiques à barres empilées horizontales. CPAN a installé les modules dans /root/.cpan/build/GD-2.45-4PSn9K, qui n'est pas dans @INC. Dans mon script, je peux accéder aux modules en ajoutantPourquoi le débogueur Perl ne trouve-t-il pas le module trouvé par ce script?
use lib "/root/.cpan/build/GD-2.45-4PSn9K"
Le script génère maintenant les diagrammes sans problème. Je voulais utiliser le débogueur perl ("perl -d myscript.pl") mais il se plaint de ne pas pouvoir trouver GD.pm (qui est dans ce chemin). J'ai ajouté le chemin à PERL5LIB, vérifié avec "perl -V", mais toujours le débogueur ne peut pas le trouver. Peut-être un moyen de contourner cela est d'avoir GD installé dans l'un des chemins @INC, mais a) Je ne sais pas comment faire cela, et b) Je voudrais vraiment comprendre ce qui se passe.
C'est sur Fedora Core 12.
Je ne sais pas si, si fait une différence, mais GD :: Graph est en fait utilisé dans un module qui est inclus par mon script principal. Le script principal ne l'utilise pas. Mise à jour: Suite aux suggestions ci-dessous, je suis entré de nouveau dans le CPAN et j'ai forcé l'installation. Le CPAN a déclaré avoir trouvé l'installation dans /root/.cpan/ (etc) et a pré-attribué ce chemin à @INC. J'ai ensuite supprimé manuellement GD du répertoire .cpan et suis allé installer à nouveau. Cette fois CPAN l'a mis au même endroit, et aussi dans /usr/local/lib/perl5/GD-2.45PSn9K ".Il a ajouté deux chemins à @INC. J'ai vérifié qu'il est là, et le débogueur perl prétend à la recherche là-bas, mais encore ne peut pas trouver GD.pm (qui est là) et ne sera pas exécuter le script
@INC:
/usr/local/lib/perl5/GD-2.45-4PSn9K/
(and others)
De perl -d:.
Can't locate loadable object for module GD in @INC (@INC contains:
... et il répertorie ce chemin parmi ses autres, il est vraiment là:
[root /]# find . -name "GD.pm"
./usr/local/lib/perl5/GD-2.45-4PSn9K/GD.pm
./usr/local/lib/perl5/GD-2.45-4PSn9K/blib/lib/GD.pm
(and the /root/.cpan paths)
c'est un répertoire de construction CPAN, il aurait dû aussi installer les fichiers quelque part dans 'PERL5LIB'. CPAN répertorie les répertoires auxquels il a installé les fichiers à la fin de la génération. –
Vous pouvez également essayer 'perldoc -lm GD :: Graph' pour trouver l'emplacement d'installation. – dwarring