2010-10-08 15 views
5

Ich benutze Perlbrew jetzt, um mehrere Versionen von Perl zu verwalten, aber Perlbrew ist global. Wenn ich perlbrew switch perl-5.10.1 in einer Shell mache, dann verwenden alle Shells und Skripte jetzt Perl Version 5.10.1. Es gibt keine Isolation. Gibt es eine Möglichkeit, Perlbrew-Switches für eine Shell lokal zu machen, oder gibt es ein ähnliches Tool, das die aktive Perl lokal ändern kann?Gibt es ein nicht-globales Äquivalent von Perlbrew?

+0

Siehe auch [Wie installiere ich mehr als eine Perl-Version?] (Http://stackoverflow.com/questions/1289564/how-should-i-install-more-than-one-version-of-perl) und [http://stackoverflow.com/questions/398221/how-do-you-manage-perl-modules-when-using-a-package-manager/398397#398397] (Wie verwalten Sie Perl-Module bei der Verwendung? ein Paket-Manager?) – Ether

+0

Siehe diese verwandte SO Frage/Antwort: http://stackoverflow.com/questions/3776390/how-can-i-control-the-perl-version-use-when-submitting-grid-jobs/ 3776538 # 3776538 – draegtun

Antwort

4

In neueren Versionen von Perlbrew können Sie perlbrew use perl-5.12.3 oder was auch immer tun, und Sie werden diese Version von Perl verwenden, aber nur in der aktuellen Shell-Sitzung. Andere Sitzungen sind nicht betroffen.

+0

Ich muss das ausprobieren. Es sieht genau so aus, wie ich es will. –

5

Verwenden Sie einfach nicht perlbrew. Alles, was es macht, ist das Ändern von Symlinks für dich. Es soll Ihnen Arbeit ersparen, aber wenn nicht, gibt es keinen Grund mehr, es zu benutzen.

Ich spreche über, wie ich es in Make links to per-version tools in Die effektive Perler. Ich weiß immer, welches Perl ich verwende, weil ich mich nie daran erinnern muss, welches ich zuletzt geschaltet habe, und ich störe nichts anderes, wenn ich eine bestimmte Version eines Symlinks erwarte. Sie können perlbrew weiterhin perls installieren, aber es spart Ihnen auch nicht so viel Arbeit.

+0

[Auch hier diskutiert] (http://stackoverflow.com/questions/398221/how-do-you-manage-perl-modules-when-using-a-package-manager/398397#398397) in mehr Detail. – Ether

+1

Ich weiß, ich kann immer Perl 5.10.1 als 'Perl5.10.1' in meinem Pfad installieren und dann Versionen explizit angeben, aber ich denke, dass das Verhalten, nach dem ich suche, ist, dass 'Perl' eine bestimmte Standardversion von Perl ausführt . Wenn ich dann 'Perlbrew Switch' in einer Shell starte, dann bezieht sich 'Perl' in dieser Shell auf die neue Version, aber alle anderen Shells und Programme führen weiterhin das Standard-Perl aus. Und auch für den Rest der Perl-Umgebung: Module, Executables, Manpages/Perldocs. Ich nehme an, ich muss lernen, wie man das Furlani Module-Paket benutzt, auf das dein Artikel verlinkt, um zu bekommen, was ich will. –

+1

Ich schlage vor, nur neu zu definieren, was Sie wollen. Es ist weniger Arbeit. :) –