この記事では『npm outdated』について、
- npm outdatedとは
- npm outdatedの実行結果の見方(Current・Wanted・Latestの意味)
などを分かりやすく説明するように心掛けています。ご参考になれば幸いです。
npm outdatedとは
npm outdatedは現在のプロジェクトにインストールされているパッケージ(ライブラリやツール)をチェックし、パッケージに新しいバージョンが存在するかどうかを確認するコマンドです。
では実際に「npm outdated」コマンドを実行してみましょう。
まず、以下のコマンドを実行して、あえて古いバージョンのパッケージ(例えば、jQueryのバージョン2.2.1など)をインストールします。
npm install jquery@2.2.1
実行結果
PS C:\test> npm install jquery@2.2.1
added 1 package in 602ms
すると、package.jsonは以下のようになります。
{
"dependencies": {
"jquery": "^2.2.1"
}
}
ここで、以下に示す「npm outdated」コマンドを実行すると、jQueryに新しいバージョンがあることを教えてくれます。
npm outdated
実行結果
PS C:\test> npm outdated
Package Current Wanted Latest Location Depended by
jquery 2.2.1 2.2.4 3.7.1 node_modules/jquery test
上記の実行結果より、以下のことが分かります(後ほどこの見方について詳しく説明します)。
- 現在インストールされているjQueryのバージョンは2.2.1
- package.jsonに記述されている「^2.2.1」の条件を満たすパッケージは2.2.4
- jQueryの最新バージョンは3.7.1
npm outdatedの実行結果の見方(Current・Wanted・Latestの意味)
「npm outdated」コマンドの実行結果を見ると、インストールされているパッケージに対して、Current、Wanted、Latestという3つの列が表示されています。それぞれの列の意味を以下に示します。
Currentの意味
プロジェクトに現在インストールされているバージョンです。
Wantedの意味
package.jsonに記載されたsamverの条件を満たす範囲に基づいてアップデート可能なバージョンです。
「package.json」の「^2.2.1」という記述は「2.2.1 <= n < 3.0.0」という範囲までアップデートを許容するという意味になります。jqueryにおいては2.x系の最新バージョンは2.2.4なので、Wanted列には2.24と記載されています。
semverとは?
semverは「Semantic Versioning」の略であり、ソフトウェアのバージョニングを管理するための規則や仕様のことを指します。
samverの基本的な形式は「メジャーバージョン.マイナーバージョン.パッチバージョン」です。例えば、2.3.1というバージョン番号において、パッケージの変更があった際にどのバージョン番号が増加するのかを以下に示します。
- メジャーバージョン(2)
- 後方互換性のない変更が加えられた時に1つ増加する。
- マイナーバージョン(3)
- 後方互換性を保ちつつ、「新しい機能の追加」や「ドキュメントの追加」が行われた時に1つ増加する。
- パッチバージョン(1)
- 後方互換性のあるバグ修正や「ドキュメントの修正」が行われた時に1つ増加する。
Latestの意味
パッケージの最新バージョンです。
本記事のまとめ
この記事では『npm outdated』について、以下の内容を説明しました。
- npm outdatedとは
- npm outdatedの実行結果の見方(Current・Wanted・Latestの意味)
お読み頂きありがとうございました。