Erstellen Sie Ihren eigenen CPAN-Spiegel mit genau dem, was Sie möchten. Stratopan.com , ein Dienst, und Pinto , Tools, die darauf aufbauen, können Ihnen dabei helfen.
Die CPAN-Tools installieren nur die neueste Version einer Distribution, da PAUSE nur die neueste Version indiziert. Sie können jedoch Ihr eigenes privates CPAN erstellen, das genau die gewünschten Verteilungen enthält. Sobald Sie einen eigenen CPAN-Spiegel mit nur dem haben, was Sie möchten, richten Sie Ihre CPAN-Tools nur auf diesen Spiegel, sodass nur diese Versionen installiert werden. Mehr dazu in einer Minute.
Nun möchten Sie mehrere Versionen davon haben. Sie können so viele Spiegel erstellen, wie Sie möchten, und Sie können die Spiegel auch in die Quellcodeverwaltung einbinden, damit Sie jede gewünschte Version des Spiegels überprüfen können.
Mit Tools wie CPAN :: Mini :: Inject können Sie Ihr eigenes CPAN einrichten. Schauen Sie sich meine Vorträge auf Slideshare an, um die grundlegenden Beispiele zu sehen, und einige meiner Videos auf Vimeo für einige der Demonstrationen. Schauen Sie sich alles an, dessen Titel "CPAN" oder "BackPAN" enthält. Ich denke, ich könnte auch in The Perl Review einiges darüber haben oder sollte es in der nächsten Ausgabe tun. :) :)
In letzter Zeit habe ich an einem Programm namens dpan (für DarkPAN) gearbeitet, das zufällige Verzeichnisse anzeigen, Perl-Verteilungen darin finden und die Struktur- und Indexdateien erstellen kann, die Sie benötigen. Wenn Sie dpan ausführen, erhalten Sie eine URL, auf die Ihr CPAN-Client verweist, und los geht's. Es ist Teil meines MyCPAN-Indexer-Projekts in Github . Es ist nicht ganz bereit für die unbeaufsichtigte öffentliche Nutzung, da ich hauptsächlich mit Firmenkunden zusammenarbeite, um deren Einrichtung anzupassen. Wenn Sie daran interessiert sind, können Sie mir gerne Fragen stellen.
Außerdem habe ich kürzlich CPAN :: PackageDetails veröffentlicht , mit denen Sie die richtige Indexdatei erstellen können. Es ist auch noch ein bisschen jung, aber wenn Sie etwas Besonderes brauchen, fragen Sie einfach.
bdfoy bietet die beste Lösung in großem Maßstab. Wenn Sie jedoch nur einige Module installieren möchten, können Sie die CPAN-Shell bitten, eine bestimmte Distribution zu installieren, indem Sie auf einen Pfad zu einem Tarball verweisen (relativ zum oberen Rand des CPAN-Baums).
cpan> install MSCHWERN/Test-Simple-0.62.tar.gz
Wenn Sie eine URL zu BackPAN in Ihre URL-Liste einfügen, können Sie jede ältere Version installieren.
cpan> o conf urllist push http://backpan.perl.org/
Dies finden Sie in den häufig gestellten Fragen zu CPAN.pm unter "Wie installiere ich eine 'ENTWICKLERFREIGABE' eines Moduls?"
quelle
install MSCHWERN/Test-Simple-0.62.tar.gz
@Schwern Ich denke, Sie müssen das M / MS-Präfix entfernen, um den Tarball zu findencpan install App::cpanminus cpanm Your::Module@1.23
(Der Karton wird, wie in anderen Antworten angegeben,
cpanm
unten verwendet, um explizite Versionsanforderungen zu lösen.)quelle
aptitude install cpanminus
Can't configure the distribution
, müssen Sie ausführensudo apt-get install build-essential
. Danke für die Antwort![Es ist fast fünf Jahre später und dies ist eine gut gestellte und gut beantwortete Frage, die viele Ansichten hatte. Da diese Seite in der Google-Suche noch angezeigt werden muss, kann ein Update nicht schaden.]
Carton
ist hier erwähnenswert.Carton
ist ein relativ neues Werkzeug im gleichen Stil wieApp::cpanminus
,App::cpanoutdated
,perlbrew
, et. al. Der Autor (Miyagawa) nennt es "Alpha" -Qualität, aber selbst in seinem aktuellen Zustand vereinfacht der Karton die Wartung mehrerer Umgebungen von versionierten Modulen auf verschiedenen Maschinen.Pinto
Auch ist ein weiteres aktuelles Tool, das für einige der Antworten relevant ist (tatsächlich ist einer der Befragten ein Mitwirkender).quelle
Stratopan.com ist eine weitere Alternative. Stratopan bietet private CPANs in der Cloud. Sie können Ihr Stratopan-Repository mit bestimmten Versionen von Modulen (und deren Abhängigkeiten) füllen und diese dann mithilfe der Standard-Perl-Toolkette installieren. Das Repository ändert sich nur, wenn Sie es ändern möchten, sodass Sie immer die Versionen der gewünschten Module erhalten.
Haftungsausschluss: Ich betreibe Stratopan.
quelle
Es scheint, dass das Erstellen einer
cpanfile
Liste aller Ihrer Module und gewünschten Versionen (mithilfe der== <version>
Syntax zum Sperren für eine bestimmte Version) auch hier hilfreich sein könnte. Das würde bedeuten , die Module zu verwendenCarton
odercpanm
zu installieren.Dies hätte den Vorteil, dass die Datei schnell und einfach optimiert werden kann, um das Upgrade bestimmter Module in einer Entwicklungs- oder Staging-Umgebung zu testen - etwas, das ein privater CPAN-Spiegel nicht zulässt (ohne mehrere Spiegel zu erstellen).
quelle