2015-07-22 13 views
9

Ich renne git Befehl npm outdated in Bash auf einem Mac.npm veraltete Ausgabe Farbcodierung Bedeutung

Siehe die Ausgabe im Bild unten.

Weiß jemand, warum die ersten vier Pakete in rot gedruckt werden?

Ich denke, es liegt daran, dass ich sie auf Github Repos in meinem Paket zeigen.json, aber warum das Rot?

Ist es eine Warnung? Sollte ich mir Sorgen machen?

Vielen Dank.

enter image description here

+0

ich auch rot gefärbte Ausgabe für Pakete, die nicht an git (dh normale npm Ziel gerichtet werden:. [Screenshot] (http://imgur.com/a/kys7X) Und noch keine Erläuterung zu den npm-Dokumenten, was die Farben bedeuten – batjko

+0

Es gibt ein neues Problem auf dem npm-CLI, das zu einer offiziellen Antwort eines Tages führen könnte: https://github.com/npm/npm/issues/16224 – batjko

Antwort

10

Sie müssen vorsichtig sein, wenn auf der Verpackung abhängig, die Github gehostet: wenn Sie nur an die master Zweig eines Pakets zeigt (die Standardeinstellung ist, wenn solche Abhängigkeiten Hinzufügen) können Sie in alle möglichen Schwierigkeiten geraten, wenn dieser Zweig aktualisiert wird und entweder nicht funktionstüchtig ist (es passiert) oder die Rückwärtskompatibilität bricht (was auch passiert).

Ich denke, das ist, was npm versucht, Ihnen zu sagen.

FWIW, Sie sollten immer einen Bezeichner für ein bestimmtes Commit/Tag/sha angeben, wenn Sie mit Github gehosteten Abhängigkeiten zu tun haben. Weitere Informationen finden Sie unter this. Obwohl ich bezweifle, dass npm diese URLs nicht auch als rot markiert, weil es immer noch möglich ist, dass diese Bezeichner ungültig werden.

EDIT: vielleicht nicht ganz.

Wenn Sie es ein wenig näher betrachten, zeigt es den Paketnamen rot an, wenn die installierte Version nicht der in package.json festgelegten Version entspricht. Im Fall von Github gehosteten Paketen werden diese wahrscheinlich niemals übereinstimmen, daher der rote.

Gelb wird verwendet, wenn die installierte Version der erforderlichen Version entspricht. Im NPM-Repository ist jedoch eine neuere Version verfügbar.

+0

Das macht Sinn, danke, aber ich konnte keine klare Erklärung der Farben in der Npm-Dokumentation finden .. –

+0

@Ursus sehe meine Bearbeitung, es kann ein bisschen subtiler sein, als ich ursprünglich dachte :-) – robertklep

0

Aufgrund des Caret-Formats "SemVer x.y.z" weisen rote Farben eindeutig darauf hin, dass Pakete nicht mehr aktuell sind und aktualisiert werden müssen. Und gelbe zeigen an, dass die Pakete auch veraltet sind, aber um zu aktualisieren, könnte es bruchhafte Änderungen geben ....

Alle Pakete in rot sollten zuerst aktualisiert werden, dann aktualisieren sie in gelb, wegen der Möglichkeit Wechsel brechen.

https://realguess.net/2014/12/13/update-outdated-npm-packages/

Verwandte Themen