Ich kopierte package.json aus einem anderen Projekt und möchte nun alle Abhängigkeiten auf die neuesten Versionen bringen, da dies ein neues Projekt ist und es mir nichts ausmacht, etwas zu reparieren, wenn es nicht funktioniert.
Was ist der einfachste Weg, dies zu tun?
Der beste Weg, den ich kenne, ist, npm info express version
auszuführen und dann die package.json manuell für jedes Paket zu aktualisieren. Es muss einen besseren Weg geben.
{
"name": "myproject",
"description": "my node project",
"version": "1.0.0",
"engines": {
"node": "0.8.4",
"npm": "1.1.65"
},
"private": true,
"dependencies": {
"express": "~3.0.3", // how do I get these bumped to latest?
"mongodb": "~1.2.5",
"underscore": "~1.4.2",
"rjs": "~2.9.0",
"jade": "~0.27.2",
"async": "~0.1.22"
}
}
AKTUALISIERUNG 5/1/19: Sechs Jahre später und ich pflege immer noch npm-check-updates als umfassende Lösung für dieses Problem. Viel Spaß!
Es sieht so aus, als ob npm-check-updates die einzige Möglichkeit ist, dies zu erreichen.
npm i -g npm-check-updates
ncu -u
npm install
Auf npm <3.11:
Ändern Sie einfach die Version aller Abhängigkeiten auf *
und führen Sie dann npm update --save
aus. (Anmerkung: defekt in neueren (3.11) Versionen von npm).
Vorher:
"dependencies": {
"express": "*",
"mongodb": "*",
"underscore": "*",
"rjs": "*",
"jade": "*",
"async": "*"
}
Nachher:
"dependencies": {
"express": "~3.2.0",
"mongodb": "~1.2.14",
"underscore": "~1.4.4",
"rjs": "~2.10.0",
"jade": "~0.29.0",
"async": "~0.2.7"
}
Natürlich ist dies der stumpfe Hammer der Aktualisierung von Abhängigkeiten. Es ist in Ordnung, wenn—wie Sie sagten—das Projekt leer ist und nichts kaputt gehen kann.
Andererseits, wenn Sie in einem reiferen Projekt arbeiten, wollen Sie wahrscheinlich überprüfen, dass es keine brechenden Änderungen in Ihren Abhängigkeiten gibt, bevor Sie aktualisieren.
Um zu sehen, welche Module veraltet sind, führen Sie einfach npm outdated
aus. Es wird alle installierten Abhängigkeiten auflisten, für die neuere Versionen verfügbar sind.
npm-check-updates
ist ein Dienstprogramm, das automatisch eine package.json mit der
neuesten Version aller Abhängigkeiten
siehe https://www.npmjs.org/package/npm-check-updates
$ npm install -g npm-check-updates
$ ncu -u
$ npm install
[EDIT] Eine etwas weniger aufdringliche (vermeidet eine globale Installation) Möglichkeit, dies zu tun, wenn Sie eine moderne Version von npm
haben, ist:
$ npx npm-check-updates -u
$ npm install
Dies funktioniert ab npm 1.3.15.
"dependencies": {
"foo": "latest"
}