別のプロジェクトからpackage.jsonをコピーしましたが、これは新しいプロジェクトなので、何かが壊れても修正してもかまわないので、すべての依存関係を最新バージョンにアップグレードしたいと考えています。
これを行う最も簡単な方法は何ですか?
私が知っている最善の方法は、npm info express version
各依存関係をpackage.json
手動で実行して更新することです。もっと良い方法があるはずです。
{
"name": "myproject",
"description": "my node project",
"version": "1.0.0",
"dependencies": {
"express": "^3.0.3", // how do I get these bumped to latest?
"mongodb": "^1.2.5",
"underscore": "^1.4.2"
}
}
のために糸- 具体的な解決策については、このスタックオーバーフロー質問。
ベストアンサー1
それは次のようになりますnpm 更新チェックこれが今これを実現する唯一の方法です。
npm i -g npm-check-updates
ncu -u
npm install
または、npx を使用します (グローバル パッケージをインストールする必要はありません):
npx npm-check-updates -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
インストール済みの依存関係のうち、新しいバージョンが利用可能なものがすべて一覧表示されます。
糸固有のソリューションについては、このStack Overflowの回答。