web-dev-qa-db-fra.com

Installation de libwww-Perl sur Ubuntu 12.04, SE

J'ai une édition de serveur Ubuntu 12.04 dans laquelle je suis SSH.

J'exécute des scripts Perl sur ce serveur, mais cela échoue lorsque je charge

'use LWP::UserAgent;' with error message:
Can't locate LWP/UserAgent.pm in @INC (@INC contains: /home/hermann/scripts/modules/ /etc/Perl /usr/local/lib/Perl/5.14.2 /usr/local/share/Perl/5.14.2 /usr/lib/Perl5 /usr/share/Perl5 /usr/lib/Perl/5.14 /usr/share/Perl/5.14 /usr/local/lib/site_Perl .) at 1_standalone line 5.
BEGIN failed--compilation aborted at 1_standalone line 5.

Donc, pour résoudre ce problème, j'essaie d'installer LWP :: UserAgent. On me dit qu'il s'agit de: Sudo apt-get install libwww-Perl

Mais lorsque j'exécute cette commande, l'erreur suivante apparaît:

Failed to fetch http://is.archive.ubuntu.com/ubuntu/pool/main/libf/libfont-afm-Perl/libfont-afm-Perl_1.20-1_all.deb  Size mismatch
Failed to fetch http://is.archive.ubuntu.com/ubuntu/pool/main/libh/libhtml-tagset-Perl/libhtml-tagset-Perl_3.20-2_all.deb  Size mismatch
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

Maintenant, j'ai essayé de faire Sudo apt-get update, qui semble fonctionner correctement mais ne change rien. Et j'ai aussi fait 'Sudo apt-get install libwww-Perl --fix-missing', qui échoue également.

Comment installer libwww-perl?

4
Hermann Ingjaldsson

Premièrement, je vous déconseille fortement les installations directes 'Perl way', elles ne feront que rendre le désordre encore plus grand. Vous n'en avez pas besoin dans Ubuntu. libwww-Perl existe en tant que paquet Ubuntu standard.

Puisque ça ne marche pas. Vous devriez commencer par nettoyer votre installation qui semble cassée. Commencez par nettoyer vos paquets installés de la manière suivante:

Sudo apt-get install -f
Sudo apt-get update --fix-missing

et seulement quand vous ne recevez pas d'erreur, continuez avec l'installation de libwwww-Perl, en utilisant:

Sudo apt-get install libwww-Perl

Aussi:

Vous semblez avoir une liste très inhabituelle (non standard) de répertoires dans lesquels Perl cherche des bibliothèques. Par exemple, il ne devrait pas y avoir de/etc/Perl dans les emplacements pour rechercher des bibliothèques, et sur Ubuntu vous n'avez pas besoin tout ce qui commence par/usr/local.

Pour vérifier si le paquet est installé, vous pouvez vérifier la sortie de:

dpkg-query -S libwww-Perl

Vérifiez votre env pour les mauvais chemins Perl forcés:

env | grep Perl

Si cela donne un résultat, je le supprimerai de l'environnement avant d'exécuter Perl: Regardez vos fichiers de démarrage (~/.bashrc en particulier pour commenter ces paramètres non standard)

Bonne chance!

7
arielf

Essayez de changer le serveur de téléchargement. Sources logicielles -> Logiciel Ubuntu -> Télécharger à partir de: sélectionnez le géo le plus proche dans la liste.

ou

Essayez la méthode d'installation Perl

Perl -MCPAN -e 'install Bundle::LWP'

ou

wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-Perl-6.04.tar.gz
tar xzf libwww-Perl-6.04.tar.gz
cd libwww-Perl-6.04
Perl Makefile.PL
make
Sudo make install

(Ma source de téléchargement a choisi l'un des serveurs indiens pour télécharger le fichier http://perlmirror.indialinks.com/authors/id/G/GA/GAAS/libwww-Perl-6.04.tar.gz )

Si vous téléchargez le module LWP dans votre répertoire personnel, n'oubliez pas d'ajouter le chemin d'accès à votre Perl @INC

2
devav2