2017-12-05 6 views
2

OK, habe mir eine saubere virtuelle Maschine besorgt, auf der Debian 9 (Stretch) läuft. Ich habe Dancer2 vom Debian-Paketsystem installiert. Es läuft die Version 0.204002. Die Dancer2-Software sagt mir, dass die neueste Version 0,205002 ist.Installation der neuesten Version von Dancer2 unter Debian

Ich möchte endlich, ein für allemal, die richtige Methode lernen, um Perl-Module auf einer Debian-Maschine auf die neuesten und besten Versionen zu aktualisieren, ohne die Debian-dpkg-Abhängigkeiten zu ruinieren. Wie erreiche ich das?

BEARBEITEN Ja, das ist eine Entwicklungsmaschine, mit der ich gerade spiele. Aber was, wenn ich die neueste Version von Dancer 2 auf einer Produktionsmaschine laufen lassen wollte? Wie würde ich es tun?

+0

'cpan Dancer2'? Der Nachteil von CPAN ist, dass Sie nicht einfach deinstallieren können und es wird nicht automatisch aktualisiert. – PerlDuck

+0

@PerlDuck 'cpanm' [ermöglicht Ihnen die Deinstallation] (https://metacpan.org/pod/distribution/App-cpanminus/bin/cpanm#-uninstall,-U), wenn eine richtige Packliste vorhanden ist. – simbabque

+0

Ich habe deine Frage als Duplikat geschlossen. Die erste und die zweite Antwort dieser Frage sind genau richtig. Die zweite ist moderner. Bitte beachten Sie, _ nicht das System Perl_ in der Produktion verwenden. Auf deiner frischen VM ist das in Ordnung, wenn es nur für die Entwicklung ist. Aber sobald diese Box etwas anderes macht, könntest du etwas durcheinander bringen, weil das System Perl für das System bestimmt ist. Einige Kern-Linux-Dienstprogramme verwenden es, und Sachen wie Dancer haben eine riesige Abhängigkeitskette, so dass viele Dinge aktualisiert werden können, wenn Sie es installieren, und das könnte Dinge kaputt machen, besonders wenn Ihre Dist benutzerdefinierte Patches auf Modulen hatten. – simbabque

Antwort

1

Ich kann nicht sagen, dass das folgende ist die Antwort für die Ich will endlich, ein für allemal, lernen den richtigen Weg ..., aber das ist, wie ich es in allen meinen Bereitstellungen.

  1. Installieren anyenvsudo git clone https://github.com/riywo/anyenv /opt/anyenv - Sie können es in Ihrem $HOME als git clone https://github.com/riywo/anyenv ~/.anyenv einsetzen könnte, aber ich selbst einige allgemein zugänglichen Ort Bevorzugung des. Dieser Schritt ist nicht obligatorisch, hilft mir aber bei der Verwaltung anderer lokaler Installationen wie node und so weiter.
  2. den Besitzer wechseln: sudo chown -R jm666 /opt/anyenv - Sie werden den Inhalt
  3. hinzufügen in die .profile verwalten:
export ANYENV_ROOT=/opt/anyenv 
export PATH="$ANYENV_ROOT/bin:$PATH" 
eval "$(anyenv init -)" 

Relog oder laufen exec $SHELL -l. Jetzt haben Sie einen Helper für alle häufig benötigten Umgebungen installiert.

Jetzt installieren Sie die env. Helfer, genannt plenv.

anyenv install plenv 

Oder die guide in the repo folgen, wenn Sie nicht den vorherigen anyenv Schritt wollen.

Und schließlich installiert frisch perlplenv mit:

plenv install -l #will display all available perl versions 
plenv install 5.26.1 -j 8 # number of proc cores or less. :) 

Dies wird einige Zeit in Anspruch nehmen - auf meinem Notebook 4m23,186s - gerade getestet :).

plenv global 5.26.1 # now all `perl script.pl` will use the freshly installed perl 
plenv install-cpanm 
plenv rehash #needed if you install some commands which should be accesible from `bash` 

Und Sie sind bereit, alle Perl-Module installieren cpanm mit - ohne die systemweite installiert Perl zu beeinträchtigen. Alles wird in die Verzeichnisstruktur von plenv installiert. Selbst, Sie brauchen nie root sein.

Auf diese Weise konnte ich die gleiche Entwicklungs- und Implementierungsumgebung schaffen. Vielleicht ist hier ein besserer Weg - aber für mich funktioniert das obige.

Kurz gesagt, lesen:

Verwandte Themen