1. ホーム
  2. node.js

[解決済み] package.jsonの各依存関係を最新バージョンに更新する方法は?

2022-03-16 12:11:24

質問

コピーした package.json これは新しいプロジェクトであり、もし何かが壊れても修正することを気にしないので、すべての依存関係を最新バージョンにしたいのです。

一番簡単な方法は何ですか?

私が知っている最も良い方法は npm info express version の各依存関係を更新します。 package.json を手作業で行う。もっといい方法があるはずです。

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


について を参照してください。 このStack Overflow のスレッドをご覧ください。

解決方法は?

見た目は npm-check-updates は、現在これを実現する唯一の方法です。

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


npm <3.11 で。

単純に、すべての依存関係のバージョンを * を実行し、その後 npm update --save . ( 最近の (3.11) バージョンの npm では壊れています。 ).

以前は

  "dependencies": {
    "express": "*",
    "mongodb": "*",
    "underscore": "*",
    "rjs": "*",
    "jade": "*",
    "async": "*"
  }

後です。

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


もちろん、これは依存関係の更新の鈍器です。 あなたが言ったように、プロジェクトが空っぽで、何も壊れないのであれば問題ないのですが。

一方、より成熟したプロジェクトで作業している場合、おそらくアップグレードの前に依存関係に壊れるような変更がないことを確認したいと思うでしょう。

どのモジュールが古くなっているかを確認するには、単に npm outdated . インストールされている依存関係の中で、より新しいバージョンが利用可能なものがあればリストアップされます。

について ヤーン を参照してください。 このStackOverflowの回答 .