Comment puis-je dire CPAN pour installer toutes les dépendances?
Comment puis-je dire CPAN pour installer toutes les dépendances?
J'ai essayé la configuration de ces dans cpan
:
cpan> o conf prerequisites_policy follow
cpan> o conf commit
J'ai toujours eu à répondre "y" une couple de fois (mais moins qu'avant, il se sent comme).
Est-il un moyen de l'obtenir pour toujours aller de l'avant et de l'installer? Je veux le faire sans assistance.
Il semblerait que je veux un drapeau à toujours faire confiance CPAN pour faire la bonne chose, et si il suggère une réponse, je tiens à le suivre (toujours frappé Entrée quand il demande quelque chose).
- Peut-être que je devrais ajouter une fonctionnalité à mon cpan script pour définir l'auto installation des variables d'environnement en fonction sur le CPAN.pm réglage. Voir tsi réponse, qui est l'autre moitié du problème.
Vous devez vous connecter pour publier un commentaire.
Ici, c'est le one-liner faire ces changements permanents, y compris une première fois CPAN configuration:
Ou de la combiner avec
local::lib
module pour les utilisateurs non-privilégiés:L'exécuter avant d'utiliser le shell CPAN ou quoi que ce soit.
Essayez de définir PERL_MM_USE_DEFAULT comme suit:
Il devrait faire CPAN réponse par défaut à toutes les invites.
export PERL_MM_USE_DEFAULT=1
à votre ~/.bashrcCan't locate object method "install" via package "xxx" at -e line 1.
ajouter un "+" juste avant le nom du module.La dernière et la plus grande réponse à cette question est d'utiliser
cpanm
à la place (aussi appelé App::cpanminus ou cpanminus)!Pour l'amorçage de l'installer:
ou si vous utilisez
perlbrew
simplementou de cpan lui-même:
Ensuite d'installer les modules en cours d'exécution (en tant que root si nécessaire)
cpanm
, afin de 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 êtes à la recherche pour:
Changer le paramètre suivant sur le dessus de prerequisites_policy suit.
Cela va changer à partir de "demander/oui" à "oui" et arrêtez de vous demander.
Peut-être que c'est lié à ExtUtils::Installation Automatique ou Module::Installation Automatique utilisé. Essayez de définir le PERL_AUTOINSTALL variable d'environnement. (Cf. la documentation de ces modules.)
Ensemble
dans la configuration.
Voir Variables De Configuration.
Personnellement, je ne l'ai essayé une couple de fois pour modifier les paramètres de cette manière et ont trouvé plus facile de tomber dans la
CPAN.pm
shell en donnantcpan
pas d'arguments, alors la configurationCPAN.pm
à partir de l'invite de commandes:Cela va lancer la
CPAN.pm
interfaces de l'utilitaire de configuration. Simplement courir à travers elle et de préciser "suivre" où vous avez besoin d' (j'ai oublié la question désinvolte), et vous devriez être bon d'aller.init
. Par exemple,o conf init prerequisites_policy
. De cette façon, vous n'avez pas à passer par le long processus d'initialisation, mais encore obtenir l'amicale invite pour le paramètre en questionJ'ai trouvé ceci pour être, de loin, le moyen le plus rapide et le plus fiable pour installer des modules de CPAN:
yes|/root/bin/perl -MCPAN -e "CPAN::Shell->notest(qw!install Your::Module!)"
yes
" censé faire?J'écris ceci pour le bénéfice des gens qui étaient arrivés à cette page à la recherche d'un moyen d'installer toutes les dépendances des modules nécessaires par un script perl. J'ai écrit un script pour que:
Il doit être exécuté en tant que
./installdep.pl yourscript.pl
Cela utiliser cpanminus pour installer toutes les dépendances de modules requis par votre script. Si cpanm n'est pas installé, il va l'installer.