Ceci est un suivi de ma question précédente sur le développement d'applications PERL . Disons que je développe une application en tant que module CPAN utilisant Est-ce la façon dont il est censé être? Installez-vous l'application dans les répertoires Standard Perl? Je suis habitué à avoir mes applications Perl dans un répertoire avec distinct (Est-ce documenté quelque part? Je veux dire, existe-t-il quelque chose comme la meilleure pratique pour le déploiement et la mise à jour des applications Perl non triviales? Ou tout le monde fait-il sa propre manière?) P> module :: Installation code>. Maintenant, je télécharge le code sur le serveur de production, disons à l'aide d'un
git push code>, et je voudrais installer les dépendances de l'application répertoriées dans
makfile.pl code>. Si je regarde simplement
cpan. Code>, la chose essaie d'installer l'application comme un module Perl régulier, c'est-à-dire. Commence à copier les modules et la documentation sur des répertoires Perl standard sur tout le système. P>
lib code>. Sinon, il semble que je devrais gérer beaucoup d'autres choses, comme l'installation des ressources quelque part sur le chemin de chemin, etc. Si je veux juste installer le DEPS déclaré dans
Makefile.pl code> et exécutez les tests d'application à Assurez-vous que tout fonctionne, que dois-je faire? P>
3 Réponses :
Vous pouvez regarder Module :: Scandeps pour générer une liste de modules dépendants pour l'installation. Ou Par :: Packer pour emballer le tout comme une "application" . P>
Merci (+1), mais ce n'est pas tout ce que je veux. M :: S est assez orthogonal pour tout le module :: Installez les machines que j'aimerais utiliser. Quant à P :: P, je crains que cela rendrait les choses inutilement compliquées. La plupart de mes applications sont des applications Web de catalyseur et il est tout à fait pratique pour moi d'avoir un référentiel "en direct" sur le serveur lorsque je veux résoudre quelque chose.
Je pourrais être mal compris, mais je pense que ce que vous recherchez est
Merci, ça ressemble à je fais :)
J'ai essayé celui-ci et n'a pas réussi. C'est parce que cela ne fonctionne que pour les distributions basées sur Module :: Installation code> selon dagolden.com/index.php/1528/...
Si vous utilisez Module :: Installez , vous utilisez vraiment Exutils :: Makemaker Dans les coulisses. Vous pouvez utiliser toutes les fonctionnalités de Makemaker et les objectifs qu'il fournit. Bien que la documentation ne montrent pas toutes les caractéristiques, il existe des éléments précieux dans le fabricant Cependant, Certaines personnes apprécient la brièveté du fichier Une mise à jour 2014: Module :: Build est maintenant tombé hors de faveur et de besoins un mainteneur. Il n'est jamais tout à fait arrivé au point où les gens pourraient l'utiliser pour construire et distribuer des modules XS. Il a été obsolète à Perl V5.19, bien que vous puissiez toujours l'obtenir de CPAN. p> makefile code>. P>
Makemaker code> est une nouvelle nouvelle et la plupart des personnes ont demandé à Santa Claus de disparaître. Si vous souhaitez un meilleur contrôle, y compris la création de vos propres objectifs et processus, Module :: Construire est Les commandes de grandeur plus faciles à utiliser aussi bien que la plate-forme inter-plate-forme (même si cela signifie simplement ne pas utiliser de
différent code>,
gmake code> ou quoi que ce soit sur le même système d'exploitation sur différentes cases ). Si vous vous écartez du processus d'installation normal et de niveau de consommation, votre vie sera plus facile sans
Makemaker code>. P>
module :: Installez code> Fichier de construction, mais une fois construit, vous ne passez pas beaucoup de temps à jouer avec votre fichier de construction, donc ce n'est pas si vraiment réel avantage. Lorsque le petit avantage que vous vous serrez dans
Makemaker CODE>, ce n'est pas une victoire. p>
J'ai changé en module :: Construire, se sent mieux. La version 0.36 ajoute une action installdeps code> qui fait précisément ce que je demandais. Merci.
Pourquoi n'utilisez-vous pas [
dist :: zilla code>] [dzil]
module :: Installation code> est très ancien. [DZIL]: dzil.org