Ich möchte verschiedene Perl-Versionen in meinem Home-Verzeichnis installieren. Ich versuchte, App::perlbrew
zu verwenden, aber XS-Module von einer Version verursachten segfolds in der anderen Version. Gibt es eine Möglichkeit, mehrere Versionen von Perl zu installieren und sie automatisch ihre XS-Module getrennt zu halten?Wie können mehrere Perl-Versionen installiert werden, ohne dass sie über die XS-Module der anderen stolpern?
Antwort
Sie können jede Perl vollständig getrennt von jeder anderen Perl-Installation installieren. Es sind Binärdateien und Module, die vollständig voneinander getrennt sind. Im Wesentlichen, wenn Sie jede Installation von perl Sie ihm seinen eigenen Präfix geben:
$ ./Configure -des -Dprefix=/usr/local/perls/perl-5.12.1
Alles unter diesem Präfix installiert ist, und alle Programme in dem ist/ wird, dass bestimmtes Perl verwenden. Ich gehe genauer darauf ein in Effektive Perl Programmierung.
Von dort aus, ich mache Symlinks in meinem ~/bin zu jedem dieser Programme und die Versionsnummer befestigen, so habe ich ~/perl5.12.1, perldoc5.12.1, und so weiter . Ich muss mich nie für eine Version entscheiden, wie Perlbrew es von dir will. Ich schreibe mehr darüber in Make links to per-version tools. in der Effektive Perler Blog.
Möglicherweise können Sie local :: lib dafür verwenden, aber es ist wirklich für Sie entworfen, um mit einer Perl-Version zu arbeiten und ein persönliches Bibliotheksverzeichnis zu verwenden. Sie können ihm sagen, dass er ein anderes Verzeichnis verwenden soll, aber an diesem Punkt spart es Ihnen wirklich nichts auf die traditionelle Art und Weise.
Danke für die Klärung, dass local :: lib nur für eine einzige Version ist. Ich habe local :: lib deaktiviert und Perlbrew scheint es gut zu machen. –
Ich denke -Dprefix könnte nicht genug sein; Ich endete mit einer Perl-Installation, die alle ihre Bibliotheken an den richtigen Platz stellte, aber immer noch/usr/local/bin für ausführbare Dateien verwendete. Ich bin noch nicht zurückgegangen, um zu sehen, was passiert ist, also erwähne ich das nur als Fußnote, die Leute warnt, vorsichtig zu sein, welche Konfigurationen über -es erzeugt werden. – Ether
Also gibt es eine Möglichkeit für local :: lib, mit mehreren Perl-Versionen und XS-Modulen richtig zu arbeiten, oder sollte ich es deaktivieren und Perlbrews alles handhaben lassen? –
- 1. Wie, ohne dass mehrere Änderungen an anderen Dateien
- 2. Django-URLs - Wie können mehrere Feeds über die saubere URL ohne Notwendigkeit weitergeleitet werden?
- 3. Wie können mehrere Echtzeitdaten vom Sensor über die serielle Schnittstelle in einem anderen Textfeld angezeigt werden?
- 4. Wie kann npm festgelegt werden, dass keine Pakete installiert werden, die global installiert wurden?
- 5. Wie können Benutzer über einen anderen Benutzer benachrichtigt werden?
- 6. Wie können Sie mehrere Aktionen (Programme) in der erstellten Aufgabe über die Befehlszeile hinzufügen?
- 7. Wie können mehrere Variablen deaktiviert werden?
- 8. Wie können in einer Texteingabe eingegebene Zeichen maskiert werden, ohne dass die Modellvalidierung fehlschlägt?
- 9. Führen Sie sqlcmd aus, ohne dass SQL Server installiert ist
- 10. wie Django-Vorlagen in App über Pip installiert werden?
- 11. R wird nicht installiert Paket laden, unter Berufung auf Fehlern, die anderen Pakete zuerst entladen werden müssen (und dass sie nicht entladen werden können)
- 12. Wie können mehrere benutzerdefinierte Typen unterstützt werden?
- 13. Kann Roslyn ohne Visual Studio installiert werden?
- 14. Pakete können nicht mit Ansible installiert werden
- 15. Wie verhindere ich, dass mehrere jQuery-UI-Droppables ausgelöst werden?
- 16. R-Pakete können nicht installiert werden
- 17. Wie können mehrere Nachrichten synchron gesendet werden?
- 18. Können Sie Daten über mehrere Vorlagen hinweg gemeinsam nutzen?
- 19. Können Ausnahmen über Ausnahmezeiger "dupliziert" werden?
- 20. APK kann nicht über Browserdownloads installiert werden.
- 21. Wie können Sie das Ergebnis der aktivierten "Kontrollkästchen" in einer Aktivität anzeigen, ohne dass in Android Studio Leerzeichen angezeigt werden?
- 22. Wie können mehrere pipe() Methoden verkettet werden?
- 23. Wie können Sie git so konfigurieren, dass die Tags bei jedem Pull automatisch abgerufen werden?
- 24. Wie können mehrere Audiodateien nacheinander abgespielt werden?
- 25. Private NPM-Module installiert über package.json ohne ein übergeordnetes Verzeichnis?
- 26. Die Pakete können nicht in der neuesten Version von RStudio und R Version.3.1.1 installiert werden.
- 27. Wie werden Basisvorlagenklassen explizit installiert?
- 28. Wie können Sie die chromeOptions-Zoomstufen anpassen, ohne sich Gedanken darüber machen zu müssen, dass diese ID weitergegeben werden muss?
- 29. Können Sie Bilder senden, ohne die anderen Daten durch dieselbe java.net.socket zu blockieren? Diese
- 30. Wie legen Sie fest, dass die übergeordneten Ansichten einer Erweiterbaren Recycler-Ansicht standardmäßig erweitert werden können?
Eigentlich erinnerte ich mich gerade, dass ich auch local :: lib verwende. Vielleicht interagieren sie nicht gut miteinander. Ich werde versuchen, es zu deaktivieren. –
Hmm, es sieht aus wie local :: lib und perlbrew spielen nicht gut zusammen. Das scheint mein Problem zu sein. –
mögliche Duplikate von [Wie verwalten Sie Perl Module bei Verwendung eines Paketmanagers?] (Http://stackoverflow.com/questions/398221/how-do-you-manage-perl-modules-when-using-a-a-package -manager) – Ether