Knoten aktualisieren ein bestimmtes Paket

185

Ich möchte meine Browsersynchronisierung aktualisieren, ohne alle meine Knotenpakete zu aktualisieren . Wie kann ich das erreichen? Meine aktuelle Version von Browser-Sync verfügt nicht über die Browser-Sync-GUI :(

├─┬ browser-sync@1.9.2
 ├── browser-sync-client@1.0.2
Samuel
quelle
4
npm install browser-sync@latestvielleicht. sollte es mit dem neuesten
überschreiben

Antworten:

285

Meistens können Sie ein Modul nur mit npm aktualisieren (oder ein Garn-Upgrade durchführen ), um die neuesten Änderungen zu erhalten (unter Berücksichtigung des in Ihrem package.json angegebenen Semvers) (<- Lesen Sie den letzten Teil erneut).

npm update browser-sync
-------
yarn upgrade browser-sync
  • Verwenden npm|yarn outdatedSie diese Option, um zu sehen, welche Module neuere Versionen haben
  • Verwenden Sie npm update|yarn upgrade(ohne Paketnamen), um alle Module zu aktualisieren
  • Geben --save-dev|--devSie an, ob Sie die neueren Versionsnummern in Ihrer package.json speichern möchten. (HINWEIS: Ab npm v5.0 ist dies nur für erforderlich devDependencies).

Wichtige Versions-Upgrades:

In Ihrem Fall möchten Sie anscheinend die nächste Hauptversion (v2.xx), die wahrscheinlich wichtige Änderungen aufweist, und Sie müssen Ihre App aktualisieren, um diese Änderungen zu berücksichtigen. Sie können das Neueste installieren / speichern, 2.x.xindem Sie Folgendes tun:

npm install browser-sync@2 --save-dev
-------
yarn add browser-sync@2 --dev

... oder spätestens 2.1.xdurch:

npm install browser-sync@2.1 --save-dev
-------
yarn add browser-sync@2.1 --dev

... oder das Neueste und Beste, indem Sie Folgendes tun:

npm install browser-sync@latest --save-dev
-------
yarn add browser-sync@latest --dev

Hinweis: Der letzte unterscheidet sich nicht davon:

npm uninstall browser-sync --save-dev
npm install browser-sync --save-dev
-------
yarn remove browser-sync --dev
yarn add browser-sync --dev

Der --save-devTeil ist wichtig. Dadurch wird es deinstalliert, der Wert aus package.json entfernt, die neueste Version neu installiert und der neue Wert in package.json gespeichert.

Ryan Wheale
quelle
1
npm update browser-sync --save-devwürde auch funktionieren, um auf die Hauptversion zu aktualisieren und die package-lock.json zu speichern (falls vorhanden, natürlich).
Wildhoney
5
@Wildhoney - Ich bin mit Ihnen (meistens) nicht einverstanden - npm updatewerde die jeweils neueste Version von Semver installieren . Die einzige Möglichkeit, auf die nächste Hauptversion zu aktualisieren, besteht darin, dies explizit wie oben beschrieben zu tun. Wenn Sie noch nie ein Paket installiert haben und versuchen, es zu aktualisieren / zu speichern, wird die neueste Version installiert, dies ist jedoch nicht sehr häufig. Es gibt auch den selten verwendeten Semver für die Angabe der neuesten Hauptversion - es würde in Ihrem package.json so aussehen: browser-sync: '*'ODER browser-sync: 'x'- aber ich empfehle dies NICHT.
Ryan Wheale
1
@ RyanWheale, beachten Sie, dass [email protected] --save-devnicht benötigt wird, da es automatisch in package.json gespeichert wird ( docs.npmjs.com/cli/update )
Lakesare
@lakesare tatsächlich ab [email protected] der Standardwert ist --save, nicht --save-dev. Sie müssen weiterhin --save-dev angeben, wenn Sie nur eine dev-Abhängigkeit erstellen möchten.
Joshua Harris
2
npm install some-package @ latest --save-dev hat für mich funktioniert. Vielen Dank.
Ashilon
1

Verwenden Sie npm outdated diese Option , um die aktuelle und neueste Version aller Pakete anzuzeigen.


Dann npm i packageName@versionNumberinstallieren Sie eine bestimmte Version: Beispiel npm i [email protected] .

Oder npm i packageName@latestum die neueste Version zu installieren: Beispiel npm i browser-sync@latest .

Qui-Gon Jinn
quelle
-2

Sie können es immer manuell tun. Das sind die Schritte:

  • Gehen Sie zur NPM-Paketseite und suchen Sie nach dem GitHub-Link.
  • Laden Sie jetzt die neueste Version über den GitHub-Download-Link oder durch Klonen herunter. git clone github_url
  • Kopieren Sie das Paket in Ihren node_modulesOrdner für znode_modules/browser-sync

Jetzt sollte es für Sie funktionieren. Fahren Sie mit npm iden nächsten beiden Schritten fort, um sicherzustellen, dass es in Zukunft nicht kaputt geht:

  • Überprüfen Sie die Version des neuen Pakets, indem Sie die package.jsonDatei in ihrem Ordner lesen .
  • Öffnen Sie Ihr Projekt package.jsonund legen Sie dieselbe Version fest, für die es in dependenciesIhrem Teil angezeigt wirdpackage.json

Es wird zwar nicht empfohlen, dies manuell zu tun. Manchmal ist es gut zu verstehen, wie Dinge unter der Haube funktionieren, um Dinge reparieren zu können. Ich fand mich von Zeit zu Zeit dabei.

Aminadav Glickshtein
quelle