2017-11-30 4 views
0

TL; DRPrüfung npm Pakete Kompatibilität mit Knoten neueste Version

Gibt es eine Möglichkeit npm gebrochen Pakete zu überprüfen, wenn von Knoten v4 zu Knoten 8 migrieren?

Long Story: Ich habe eine Produktionsanwendung auf Knoten v4 ausgeführt wird. Und meine moralischen Werte treiben mich dazu, von v4 auf v8 zu aktualisieren. Ich weiß, dass mein Code nicht kaputt gehen wird, aber ich möchte auch mit meinen Paketen sicher sein. Ich habe Staging env Setup. Ich kann zuerst Knoten 8 einrichten. Dennoch möchte ich voller Zuversicht sein, dass nichts bricht. oder ich möchte einfach, dass der Übergang glatt ist. Was sind die besten Praktiken, um dies zu tun?

Antwort

1

Wenn Sie Unit-Tests für Ihr Projekt haben (sollten Sie), wenn Ihre Tests noch Knoten 8 übergeben, sind Sie wahrscheinlich in Ordnung.

Beachten Sie, dass Node 8 mit npm v5 ausgeliefert wird. Sie sollten sicherstellen, dass Sie eine Neuinstallation von node_modules vor dem Testen haben (d. H. Sie sollten rm -rf node_modules, dann neu installieren Sie Ihre Abhängigkeiten). npm 5 hat einen flacheren Abhängigkeitsbaum als npm 2 (der mit Node 4 geliefert wird). In einigen seltenen Fällen kann dies dazu führen, dass Dinge nicht mehr funktionieren.

Wenn Sie die Neuinstallation auf Knoten 8 ausführen, achten Sie auf Warnmeldungen, die auf Probleme hinweisen, insbesondere bei inkompatiblen Meldungen.

Auch npm 5 erstellt standardmäßig package-lock.json Dateien, die Sie hier genauer betrachten können: https://stackoverflow.com/a/44297998/7127751.

Wenn Sie wirklich sicher sein wollen, überprüfen Sie alle Ihre Abhängigkeiten und sehen Sie, ob die von Ihnen verwendete Version auf Knoten 8 getestet wird (d. H. Überprüfen Sie die .travis.yml Datei in jedem Repository der Abhängigkeit).

+0

Stimmen Sie zu, dass Testen die einzige Möglichkeit ist, Kompatibilität zu gewährleisten. Ich benutze und mag https://www.npmjs.com/package/npm-check, aber dies wird Sie nur wissen lassen, wenn Ihre Pakete veraltet sind, nicht, dass Ihr Code kaputt ist. – ztech

Verwandte Themen