npm 套件的版本符號規則
Semantic Versioning (SemVer) 基礎
在開始談版本符號之前,要先了解 Semantic Versioning(語意化版本),簡稱 SemVer。這是 npm 生態系採用的版本編號規範,幾乎所有套件都遵循這個標準。
版本號結構
SemVer 的版本號格式是 MAJOR.MINOR.PATCH,例如 2.4.1:
| 位置 | 名稱 | 說明 | 遞增時機 |
|---|---|---|---|
| 第一位 | MAJOR | 主版本號 | 有破壞性變更 (Breaking Changes),無法相容舊版 |
| 第二位 | MINOR | 次版本號 | 新增功能,但不影響現有功能 |
| 第三位 | PATCH | 修訂版本號 | Bug 修復,不影響現有功能 |
版本號的意義
理解版本號的意義後,就能判斷升級某個版本的風險:
- PATCH 升級 (
2.4.1→2.4.2):通常是最安全的,只有 Bug 修復 - MINOR 升級 (
2.4.1→2.5.0):可能有新功能,但既有的 API 應該不會壞掉 - MAJOR 升級 (
2.4.1→3.0.0):要小心! 可能有 Breaking Changes,需要調整程式碼