2012-06-20 3 views
0

J'essaie d'installer un script Perl sur mon serveur. Quand j'ai reçu l'accès au serveur.Erreur Perl: Impossible de localiser XFileConfig.pm dans @INC

J'ai installé apache2, mod_perl, mod_rewrite activé dans var/www/html

lorsque je tente d'exécuter install.cgi je reçois l'erreur suivante:

[Wed Jun 20 21:09:36 2012] [error] Can't locate XFileConfig.pm in @INC (@INC contains: . /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 /etc/httpd) at /var/www/cgi-bin/install.cgi line 4.\nBEGIN failed--compilation aborted at /var/www/cgi-bin/install.cgi line 4.\n 

Je suis sous Centos 5, Perl v5.8.8

+0

Avez-vous suivi les instructions d'installation fourni avec XFileSharing? – beresfordt

+0

Oui, tout est téléchargé au bon endroit, mais install.cgi ne peut pas trouver XFileConfig.pm – Hamza

+1

Avoir une lecture à travers ce http://www.devdaily.com/blog/post/perl/perl-error-cant- locate-module-in-inc devrait expliquer comment ajouter l'emplacement de l'installation au chemin que le script recherche pour les modules – beresfordt

Répondre

3
  1. Assurez-vous que XFileSharing est installé.
  2. Recherchez le chemin d'installation de lib pour XFileSharing. Vous pouvez utiliser de commande suivante pour localiser XFileConfig.pm

    updatedb 
    locate XFileConfig.pm  
    
  3. Ajouter ligne suivante en haut de votre script perl.

    use lib '<path>'; 
    
2

module de contrôle est installé ou non à l'aide perl -MModule::Name -e "print 'OK';"

Installation à l'aide cpan install Module::Name.

Ajouter un chemin à l'aide @INC httpd.conf

SetEnv PERL5LIB "/path/to/directory/containing/module". Ce chemin ajoute @INC de façon permanente.

Ou

use lib '/path/to/directory/containing/module'; dans le script Perl qui utilise ce module.

Ceci est une manière temporaire et vous devrez l'ajouter dans chaque script perl.

Ou

perl -I/var/www/cgi-bin install.cgi

-I est utilisé pour include_path lors de l'exécution install.cgi.

Ex:

> perl -IC:\a\b -e "print @INC;" 
C:\a\bC:/Perl/site/libC:/Perl/lib. 
Questions connexes