Existe-t-il un moyen d'utiliser des mini-CPAN spécifiques aux applications (pour garantir des versions de module spécifiques pour différentes applications et faire en sorte que l'installation fonctionne sans accès réseau)? Le mode «standard» de mini-cpan repose sur la définition de «o ur urist» avec une url de fichier dans votre CPAN/Config.pmComment puis-je dire à CPAN.pm d'utiliser un mini-cpan spécifique à l'application?
C'est parfait avec un seul mini-cpan. Cependant, je dois automatiser l'installation d'un CPAN à partir d'un répertoire différent pour chaque application (locale à l'application), car chaque application a des exigences de version différentes.
Ce qui suit près œuvres, mais a alors seulement une coquille de travail partiellement et va chercher encore à partir du Web au lieu d'utiliser la mini-CPAN de $file_url
Lieu:
use CPAN;
use FindBin qw($Bin);
my $file_url="file:///$Bin/../cpan";
CPAN::Shell->o(qw(conf urllist),$file_url);
CPAN::shell();
Pourriez-vous utiliser PAR :: Packer pour empaqueter votre application perl à la place? – Nifle
PAR :: Packer est une solution utile pour la distribution sur le même système d'exploitation, mais ne résout pas le problème de versionnement des copies locales des modules CPAN et d'installation sur un système d'exploitation différent (que j'aurais dû mentionner, désolé). – sidler