Jak mogę zaktualizować każdą zależność w package.json do najnowszej wersji?

Skopiowałem package.json z innego projektu i teraz chcę podbić wszystkie zależności do ich najnowszych wersji, ponieważ jest to świeży projekt i nie mam nic przeciwko naprawianiu czegoś, jeśli się zepsuje.

Jaki jest najprostszy sposób, aby to zrobić?

Najlepszym sposobem, jaki znam obecnie, jest uruchomienie npm info express version, a następnie ręczna aktualizacja package.json dla każdego z nich. Musi być jakiś lepszy sposób.

{
  "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"
  }
}

UPDATE 5/1/19: Sześć lat później i nadal utrzymuję npm-check-updates jako kompleksowe rozwiązanie tego problemu. Ciesz się!

Rozwiązanie

Wygląda na to, że npm-check-updates jest teraz jedynym sposobem, aby to zrobić.

npm i -g npm-check-updates
ncu -u
npm install

Na npm

Komentarze (27)

npm-check-updates jest narzędziem, które automatycznie dostosowuje package.json z najnowszą wersją wszystkich zależności

zobacz https://www.npmjs.org/package/npm-check-updates

$ npm install -g npm-check-updates
$ ncu -u
$ npm install 

[EDIT] Nieco mniej inwazyjny (unika globalnej instalacji) sposób na zrobienie tego, jeśli masz nowoczesną wersję npm jest:

$ npx npm-check-updates -u
$ npm install 
Komentarze (14)

Działa to od npm 1.3.15.

"dependencies": {
  "foo": "latest"
}
Komentarze (3)