Wie kann ich alle meine Abhängigkeiten versionieren?
Lesezeit: 4 Minuten
tutuca
Haben yarn outdated ist recht informativ, aber ich möchte vermeiden, Paket für Paket zu überarbeiten yarn upgrade.
Nur aus der Dokumentation von Yarn yarn upgrade Ohne Argumente sollen alle Abhängigkeiten aktualisiert werden, es gibt jedoch keine Änderung in meinen Projekten package.json Und yarn outdated zeigt die gleichen Paketversionen wie zuvor.
Gibt es einen Befehl oder ein Argument, das alle meine Abhängigkeiten aufhebt?
Wenn nicht, wird von dieser Praxis in irgendeiner Weise abgeraten?
Aktualisieren Sie alle Pakete auf die neueste Version
yarn upgrade --latest
Braza
Sie können Ihre Pakete mit auf die neueste in package.json angegebene Version aktualisieren yarn upgrade ohne Argumente.
Dieser Befehl aktualisiert alle Abhängigkeiten auf ihre neueste Version basierend auf dem in der Datei package.json angegebenen Versionsbereich. Die Datei „garn.lock“ wird ebenfalls neu erstellt.
Dadurch werden nur Pakete aktualisiert, die in package.json aktualisiert werden dürfen, z. B. mit ^ (z.B ^0.13.0 würde auf Version aktualisieren 0.14.0 falls vorhanden). Dadurch wird Ihre package.json-Datei nicht aktualisiert, aber die Datei „garn.lock“ wird aktualisiert.
Wenn Sie Abhängigkeiten auf die neueste Version aktualisieren möchten, können Sie das Paket verwenden npm-check-updates Dadurch wird Ihre package.json aktualisiert:
Rechts. Vielleicht tut es das. Aber es spiegelt sich nicht in meinem wider package.json Und yarn outdated zeigt keinen Unterschied vor und nach einem vollständigen Durchlauf yarn upgrade. Was vermisse ich?
– tutuca
19. Dezember 2016 um 11:56
Ich erkannte, dass yarn upgrade Aktualisiert Pakete nur dann auf die neueste Version in package.json, wenn Sie diese verwenden ^ oder ~. Wenn Ihr Paket als feste Version angegeben ist, ändert sich dies nicht. Ich habe meine Antwort bearbeitet, um eine Option zum Aktualisieren Ihrer package.json hinzuzufügen.
– Braza
19. Dezember 2016 um 15:34
Hast du es versucht yarn upgrade --latest Befehl? Laut Dokumentation wird, soweit ich es verstanden habe, auch die package.json aktualisiert.
– Kosala Nuwan Perera
24. August 2019 um 6:22 Uhr
Lauf einfach yarn upgrade-interactive --latest Wählen Sie mit der Leertaste die Pakete aus, die Sie aktualisieren möchten, und drücken Sie zum Aktualisieren die Eingabetaste.
HINWEIS: Sie müssen die importieren interactive-tools Plugin für yarn vor Gebrauch upgrade-interactiveindem Sie diesen Befehl ausführen: yarn plugin import interactive-tools.
– Joshua Pinter
6. Februar 2022 um 0:13
Paul Razvan Berg
Antwort für Benutzer von Yarn v2 und höher.
Importieren Sie die interactive-tools Plugin:
$ yarn plugin import interactive-tools
Und führen Sie es so aus:
$ yarn upgrade-interactive
Beachten Sie, dass dadurch auch die Nähte in Ihrem geändert werden package.json.
Wenn Ihre Abhängigkeiten eine Bereichsversion verwenden ("^x.x.x", "~x.x.x"usw.), Ihr package.json wird nicht aktualisiert, wenn die neueste Version ebenfalls diesem Bereich entspricht, sondern nur Ihre yarn.lock.
Wenn Sie Ihr wollen package.json aktualisiert werden:
Ändern Sie alle Ihre Abhängigkeiten in eine feste Version ("x.x.x")
Laufen yarn um die zu aktualisieren yarn.lock
Laufen yarn upgrade-interactive und wählen Sie alle Abhängigkeiten aus, die Sie aktualisieren möchten
Jetzt beides yarn.lock Und package.json wird die genauen neuesten Versionen widerspiegeln.
OCP30pt1c1l1l43-X1z17
Sie können Ihre Abhängigkeiten auch auf einen Typoskript- oder Javascript-Spielplatz kopieren und verwenden Object.entries(obj).reduce((xs, x) => ${xs} ${x[0] }, "yarn add") um den Befehl zu generieren, der alle Pakete in Ihrem enthält package.json.