Comment installer les bibliothèques Perl dans Cygwin?

je suis un geek C/C++ / Java / Unix par le commerce, mais maintenant je dois écrire un programme Perl dans Windows. Donc J'ai Cygwin, Eclipse avec EPIC installé, et des programmes de test simples fonctionnent. Je n'ai pas de machine Unix disponible pour exécuter Eclipse.

Mais j'ai besoin d'utiliser Net::TCP::Server et je ne vois pas comment l'installer. Il ne semble pas faire partie de L'installation de Cygwin Perl, et je ne veux pas passer 5 jours à apprendre le monde de Perl et de la configuration CPAN et Perl. Je veux juste pour écrire mon programme.

y a-t-il un moyen simple d'installer un module Perl dans Cygwin? Je suis en train de penser à quelque chose comme apt-get install ce serait bien, mais je pense que c'est trop espérer.

Merci

33
demandé sur famousgarkin 2012-05-07 18:08:55

4 réponses

$ perl -MCPAN -e shell
cpan shell -- CPAN exploration and modules installation (v1.9402)
Enter 'h' for help.

cpan[1]> install Net::TCP::Server

et il est instructif de lister la configuration avec le o conf la commande.

28
répondu Jens 2012-05-07 14:24:16

je suis un geek C/C++ / java unix par le commerce, mais maintenant je dois écrire un programme perl dans windows. Donc j'ai cygwin, eclipse avec EPIC installé, et des programmes de test simples fonctionnent. Je n'ai pas de machine unix disponible pour exécuter eclipse.

vous devriez pouvoir exécuter Eclipse avec EPIC sous Windows sans Cygwin. J'aime Cygwin pour beaucoup de choses, mais ce n'est pas vraiment une plate-forme très stable. Eclipse fonctionne comme un programme Java, donc tout ce que vous avez à faire est assurez-vous que Java est installé sur votre PC. Il y a même un paquet Eclipse pré-construit.

vous pouvez aussi obtenir un Perl décent qui court juste sous les fenêtres. ActivePerl ou Perl Fraise. L'un ou l'autre fonctionnera bien que de nombreuses têtes Unix préfèrent la Perl fraise parce qu'elle vient avec le même environnement MIGW que Cygwin A et beaucoup pensent qu'elle est plus compatible avec les frères Unix Perl. Cependant, ActiveState Perl peut utiliser le Gestionnaire de paquets Perl (PPM) qui contient des modules préconstruits. Malheureusement, le module que vous voulez n'est pas disponible via PPM.

mais J'ai besoin D'utiliser Net::TCP::Server et je ne peux pas trouver comment l'installer. Il ne semble pas faire partie de l'installation de cygwin perl, et je ne veux pas passer 5 jours à apprendre le monde de perl et de la configuration cpan et perl. Je veux juste écrire mon programme.

L'installation à partir de CPAN est vraiment très simple. La première fois que vous lancez CPAN, il devrait être assez beaucoup se configurer. Ensuite, pour faire une installation, vous exécutez cpan install Net::TCP::Server et ça devrait être tout. Cependant, j'ai essayé plusieurs machines Mac, Unix et Linux, et je n'arrive pas à le faire fonctionner. Donc, ce n'est pas un problème Windows autant qu'un problème avec ce module. Il est assez vieux, et pourrait ne pas bien fonctionner dans les nouvelles versions de Perl. Vous pourriez avoir à forcer l'installation sur les objections de test.

peut-être Pouvez-vous utiliser l'un des modules IO qui viennent avec Perl à la place. Cela vous évitera des problèmes car les modules requis font partie du paquet existant de Perl.

4
répondu David W. 2012-05-07 22:28:41

voyant que certaines des informations ici sont un peu dépassées et trop compliquées, je préfère suggérer ce qui suit. Il existe quelques gestionnaires de paquets Perl différents. Ils sont tous installés avec cpan (qui fait déjà partie de L'installation de Cygwin Perl), comme ceci:

# Install ppm (outdated)
cpan PPM 

# Install cpanp (still used)
cpan CPANPLUS

# Install cpanm (most recent)
cpan App::cpanminus

alors vous pouvez installer N'importe quel paquet Perl que vous voulez, comme par exemple dans L'OP, en utilisant cpanm:

cpanm Net::TCP::Server

parfois (comme indiqué ci-dessus) Cygwin peut échouer à certains tests. Par exemple, lorsque utiliser IPv6 sur une machine uniquement configurée avec IPv4, ou lorsque votre pare-feu windows bloque certains tests, etc. Pour essayer d'installer quoi qu'il en soit, essayez d'utiliser le force pavillon; -f.

cpanm -f Net::TCP::Server
3
répondu not2qubit 2017-01-05 15:58:39

malgré les "problèmes" de Cygwin, Je l'utilise régulièrement chaque fois que je dois utiliser Windows. Je recommande d'abord d'installer une installation séparée de Perl en utilisant perlbrew afin que vous n'interfériez pas avec la copie de Perl de Cygwin en cas de problème puisque Cygwin n'applique pas la Politique root-user. Dans la coquille de cygwin, tapez

\curl -L http://install.perlbrew.pl | bash

cela devrait parcourir l'installation de perlbrew et la configurer dans l'un de vos chemins exécutables. Suivant le type

perlbrew init
perlbrew install --force stable
perlbrew switch stable

attendez un peu pendant qu'un mint Perl est compilé. Pour une raison inconnue, Perl ne peut passer que 99,23% des tests du module core sur Cygwin (au moins sur ma machine),d'où le drapeau --force. Mon expérience est que cela a principalement quelque chose à voir avec le traitement des fichiers de périphériques, comme les ports et les pipes. Je ne suis pas au courant des gens qui essaient de résoudre le problème car il semble comme un problème de Cygwin. Bien qu'il n'a pas présenté beaucoup de problème pour moi avec le système général et les tâches de programmation web. Les routines d'essai du module: échouer si un problème existe, donc je ne suis pas fretting sur elle.

la prochaine étape est d'installer cpanm (cpanminus), tapez

perlbrew install-cpanm

à partir de maintenant, pour installer une bibliothèque à partir de CPAN, tapez

cpanm [library::name1] [library::name2]

cpanm rend l'installation des modules Perl triviale. Vous pouvez même installer à partir de votre répertoire local au lieu de CPAN.

0
répondu salty-cat-fish 2015-03-16 00:09:13