npm v5.0 bringt viele Eigenschaften mit sich, die derzeit im Garn vorhanden sind, einschließlich:
--save
package-lock.json
wird automatisch erstellt (ich gehe davon aus, dass die Sperrdatei konsistente Installationen gewährleistet) Aus meiner Sicht bietet Garn zusätzlich parallele Downloads (daher schnellere Download-Zeit). Ich sehe das nicht im npm-Blogpost . Gibt es noch andere Vorteile, Garn noch zu verwenden?
Garn ist immer noch, wie beim Schreiben, etwas schneller als npm. Thomas Schaaf hat einen Vergleich basierend auf der Leistung erstellt, der direkt eingesehen werden kann hier . Gegenwärtig schlägt Yarn bei jeder Messung npm, wenn auch nicht mit großem Abstand. Das liegt wahrscheinlich an den parallelen Downloads und dem überlegenen Caching, obwohl das reine Vermutung ist und ich habe in der Quelle nicht gegraben, um herauszufinden, warum das Timing anders ist.
Was Sie jedoch an Performance verlieren, gewinnen Sie an Kompatibilität. Es gibt ein paar Pakete, die nicht korrekt mit Yarn installiert werden, wie zum Beispiel semantic-ui
muss sowieso npm dafür benutzen.
Da npm der kanonische Paketmanager für Knotenumgebungen ist, wurden die meisten Pakete getestet, um mit npm zu arbeiten. Das gleiche gilt nicht für Garn - es ist immer noch ein relativer Außenseiter.
Insgesamt denke ich, dass npm @ 5 weitaus besser ist als seine Vorgänger, und ich denke, es wäre vernünftig, "zurückzuschalten", es sei denn, Yarn bringt neue Funktionen auf den Tisch, besonders wenn die Kompatibilität mit allen Paketen wichtig ist du.
Das ist eine gute Frage!
In der Tat wurde npm
gedrückt, um all diese Features yarn
zu bieten. Jetzt sind sie ziemlich gleich:
--save
ist standardmäßig aktiviert package-lock.json
sperrt Ihre Versionen und ist nicht optional mit npm shrinkwrap
npm@5
machte ebenfalls gute Fortschritte bei der Geschwindigkeit, aber yarn
ist immer noch schneller. Hier sind die einfachen Zahlen. Lass es uns mit vue-starter
testen, was ungefähr 850 Pakete zum Download hat. npm
war mit 42 Sekunden im frischen Lauf gar nicht so schlecht. Wenn der Cache bereit ist, dauert es nur 30 Sekunden, um alles zu installieren.
Im Vergleich zu yarn
: 35 Sekunden ohne Cache und 20 Sekunden mit dem Cache. Für mich war diese Zeitlücke wichtig genug, um yarn
weiterhin als primäres Werkzeug zu verwenden.
Eigentlich habe ich einen Artikel geschrieben, der all diese Themen behandelt: Ссылка