Comment dire à CPAN d'installer toutes les dépendances?
J'ai essayé de les mettre en cpan
:
cpan> o conf prerequisites_policy follow
cpan> o conf commit
J'ai encore dû répondre "y" plusieurs fois (mais moins qu'avant, on en a envie).
Existe-t-il un moyen de le faire toujours aller de l'avant et de l'installer? Je veux le faire sans surveillance.
Il semblerait que je veux qu'un drapeau fasse toujours confiance au CPAN pour faire la bonne chose, et s'il suggère une réponse, je voudrais la suivre (toujours frapper Enterquand il demande quelque chose).
perl
dependencies
cpan
Nifle
la source
la source
Réponses:
Voici le one-liner rendant ces changements permanents, y compris la configuration CPAN automatique pour la première fois:
Ou combinez-le avec un
local::lib
module pour les utilisateurs non privilégiés:Exécutez-le avant d'utiliser le shell CPAN ou autre.
la source
Essayez de définir PERL_MM_USE_DEFAULT comme ceci:
Cela devrait faire de CPAN la réponse par défaut à toutes les invites.
la source
export PERL_MM_USE_DEFAULT=1
à votre ~ / .bashrcCan't locate object method "install" via package "xxx" at -e line 1.
ajoutez un "+" juste avant le nom du module.La dernière et meilleure réponse à cette question est d'utiliser à la
cpanm
place (également appelée App :: cpanminus ou cpanminus)!Pour bootstrap, installez-le:
ou si vous utilisez
perlbrew
simplementou de cpan lui-même:
À partir de là, installez les modules en exécutant (en tant que root si nécessaire)
la source
cpanm
, donc me dire de l'utiliser n'est pas la solution ici.sudo apt install cpanminus make
.Voici ce que je suis sûr que vous recherchez:
la source
La modification du paramètre suivant en plus de prerequisites_policy suit.
Cela le changera de "demander / oui" à "oui" et l'empêchera de vous demander.
la source
Peut-être est-ce lié à l' utilisation de ExtUtils :: AutoInstall ou Module :: AutoInstall . Essayez de définir la variable d'environnement PERL_AUTOINSTALL. (Cf. la documentation de ces modules.)
la source
Ensemble
dans la configuration.
Voir Variables de configuration .
la source
Personnellement, je n'ai essayé que quelques fois de modifier les paramètres de cette manière et j'ai trouvé qu'il était plus facile de passer dans le
CPAN.pm
shell encpan
ne donnant aucun argument, puis en configurant àCPAN.pm
partir de l'invite interactive:Cela lancera l'
CPAN.pm
utilitaire de configuration des interfaces. Parcourez-le simplement et spécifiez "suivre" là où vous avez besoin (j'oublie la question au hasard), et vous devriez être prêt à partir.la source
init
. Par exempleo conf init prerequisites_policy
,. De cette façon, vous n'avez pas à passer par le long processus d'initialisation, mais obtenez toujours l'invite amicale pour le paramètre en questionJ'ai trouvé que c'était, de loin, le moyen le plus rapide et le plus fiable d'installer des modules CPAN:
la source
yes|/root/bin/perl -MCPAN -e "CPAN::Shell->notest(qw!install Your::Module!)"
yes
" est censé faire?J'écris ceci pour le bénéfice des personnes qui sont peut-être venues sur cette page à la recherche d'un moyen d'installer toutes les dépendances de module nécessaires à un script perl particulier. J'ai écrit un script pour cela:
Il devrait être exécuté comme
./installdep.pl yourscript.pl
Cela utilisera cpanminus pour installer toutes les dépendances de module requises par votre script. Si cpanm n'est pas installé, il l'installera.
la source