2015-07-09 23 views
8

Con pip è possibile creare un file dei requisiti per specificare le librerie da installare. Esiste un equivalente per i moduli perl che utilizzano CPAN?File dei requisiti CPAN

Mi sono imbattuto in ExtUtils :: MakeMaker, ma questo sembra che il file di make sia specifico per ogni modulo.

immagino per cercare di dare una migliore idea di quello che sto chiedendo è se c'è un modo per fare qualcosa di simile

cpan install -r requirements.txt 

e quindi specificare quali moduli installare in quel file requisiti.

Grazie in anticipo!

+0

Stai chiedendo come specificare i prerequisiti per un modulo che hai scritto, in modo che altri possano installarlo? O vuoi semplicemente installare un gruppo di moduli non collegati sul tuo sistema che sono elencati in un file? – ThisSuitIsBlackNot

risposta

4

Penso che Carton sia quello che stai cercando.

Per iniziare a utilizzare il cartone, installarlo. Quindi creare un cpanfile con le dipendenze:

require 'Test::Most'; 
require 'Math::BaseConvert'; 

Con questo file in atto, gestiscono

carton install 

Questo installerà i moduli, se necessario, e scrivere un file chiamato cpanfile.snapshot con le informazioni sulle dipendenze.

Vedi anche: Brief Notes on Managing Perl Dependencies with Carton

PS: Partenza Stratopan.

+0

Grazie, il cartone e il cpanfile erano esattamente quello che stavo cercando – DoolAy

8

Quando si installano i moduli da CPAN, ciascun modulo specifica le sue dipendenze in Makefile.PL (o Build.PL) e la shell CPAN risolverà tali dipendenze in modo ricorsivo durante l'installazione.

Se si desidera specificare le dipendenze per un'applicazione (piuttosto che un modulo CPAN), è possibile creare un file chiamato cpanfile in questo formato:

requires 'JSON'; 
requires 'Template'; 
requires 'DateTime'; 
requires 'DBIx::Class'; 

è possibile installare tali dipendenze con un solo comando:

cpanm --installdeps . 

il comando cpanm proviene dalla distribuzione App::cpanminus ed è uno strumento alternativo per l'installazione di moduli da CPAN.

Vedere cpanfile docs per ulteriori informazioni.

+0

tonnellate di ore risparmiate ... grazie – feng63600

Problemi correlati