Mit Perl, was ist eine einfache Möglichkeit, verschiedene Entwicklungsbibliotheken Pfade zu behandeln? Ich möchte meinen lokalen Boxpfad zum Testen verwenden, aber wenn ich starte, möchte ich, dass er automatisch auf den Pfad zur Produktions-Lib zeigt.Was ist ein guter Weg, um mit Perl Entwicklungs/Produktions-Pfade zu verwalten?
Antwort
Werfen Sie einen Blick auf die PERL5LIB environment variable, oder für eine noch einfachere Zeit, siehe local::lib.
Ich denke, Ihre Entwickler-Box sollte wirklich eine VM mit einer identischen Konfiguration zur Produktion sein, so dass Sie den Bibliothekspfad nicht ändern müssen.
Bibliotheken sollten nach demselben Mechanismus installiert werden, damit alles konsistent ist.
Wenn Sie dies nicht tun, riskieren Sie möglicherweise, dass nicht funktionierender Code aufgrund von Versionsunterschieden in der Bibliothek in die Produktion freigegeben wird.
Ich verstehe das, aber unsere Entwicklungsumgebung ist auf der gleichen Hardware wie die Produktion. – mleykamp
Es ist häufig unmöglich, die exakt gleiche Konfiguration in der Produktion zu verwenden wie in der Entwicklung. Was ist, wenn Sie irgendwo IP-Adressen/Hostnamen und Ports angeben müssen? Prod- und Entwicklungsumgebungen können nicht dieselbe IP und denselben Port verwenden. –
Umgebungsvariablen wäre nett, aber unsere Version von Cron verwendet nicht seine Benutzer Umgebungsvariablen. – mleykamp
Ändern Sie die Cron-Jobzeile in "* * * * * PERL5LIB = blah script.pl" –
+1, ich hatte local @ lib vorher nicht bemerkt. Cool. –