要約: このチュートリアルでは、パッケージのバージョンを指定したり、外部パッケージの指定バージョンをインストールしたりするための、セマンティック バージョニングについて学習します。
npmにおけるセマンティック バージョニングの紹介
JavaScript エコシステムをより信頼性のある、安全なものにするために、セマンティック バージョニングの仕様に従ってパッケージ.jsonファイルのバージョン番号を更新する必要があります。
major.minor.patchCode language: JavaScript (javascript)例
4.17.1Code language: JavaScript (javascript)このバージョンでは
majorバージョンは 4 です。minorバージョンは 17 です。patchは 1 です。
指定バージョンについて、以下をインクリメントする必要があります。
- 以前のバージョンと互換性のない変更を行った場合の
majorバージョン。 - 以前のバージョンと後方互換性のある機能を追加した場合の
minorバージョン。 - 以前のバージョンと後方互換性のあるバグ修正を行った場合の
pathバージョン。
新しいパッケージを開発する場合は、開始バージョンは 1.0.0 にする必要があります。
バージョン 1.0.0 と後方互換性のあるバグ修正が 1 つ以上ある場合は、3 番目の桁を 1.0.1 にします。
後方互換性のある新しい機能を導入する場合は、真ん中の桁をインクリメントして最後の桁をゼロにリセットします (1.1.0 のように)。
ただし、以前のバージョンと後方互換性がない変更を加えた場合は、最初の桁をインクリメントして真ん中と最後の桁をゼロにリセットします (例: 2.0.0)。
npm セマンティック バージョニング
以下では、セマンティック バージョニングを計算する方法を説明します。
1) キャレット記号 (ハットとも呼ばれます) ^
同じ**major**範囲内の特定バージョンよりも新しいバージョンをすべて含めるには、キャレット記号 (^) を使用します。
^1.10.1
Code language: JavaScript (javascript)2) チルダ記号 ~
同じ**minor**範囲内の特定バージョンよりも新しいバージョンをすべて含めるには、チルダ記号 (~) を使用します。
~1.5.12
Code language: JavaScript (javascript)3) 比較演算子
安定版の範囲を指定するには、比較演算子 >、<、=、>=、<= のいずれかを使用します。
>1.5Code language: JavaScript (javascript)または、ハイフン (-) を使用して範囲を指定できます。
1.0.0 - 1.5.0
Code language: JavaScript (javascript)ハイフンの両側にはスペースがあることに注意してください。
4) プレリリース バージョン
アルファおよびベータなどのプレリリース バージョンを含めるには、プレリリース タグを使用します。
1.0.0-alpha.1
Code language: JavaScript (javascript)プレリリース バージョンの範囲を指定するには、プレリリース タグが付いた > などの比較演算子を使用します。
>=1.0.0-alpha.0 <1.0.5
Code language: JavaScript (javascript)5) 複数のバージョンのセットを含める
複数のバージョンのセットを含めるには、|| を使用して結合します。例:
<1.2.0 || > 1.2.3Code language: JavaScript (javascript)6) x 記号を使用する
x 記号を使用して任意のバージョンを指定します。たとえば、1.x は 1.0.0、1.1.2、1.10.20 など、1 の major バージョンを持つ任意のバージョンと一致します。
特定のバージョンのパッケージをインストールする
パッケージをインストールするには、npm install コマンドを使用します。
npm install <package_name>Code language: JavaScript (javascript)指定バージョンのパッケージをインストールするには、@ 記号を使用します。
npm install <package_name>@versionCode language: JavaScript (javascript)次の例では、express パッケージをバージョン 4.x でインストールします。
npm install express@4.xCode language: JavaScript (javascript)4.x の最高バージョン (4.17.1 など) で express パッケージがインストールされます。
まとめ
- npmはフォーマット
major.minor.patchのセマンティックバージョニング仕様を使用しています。