語義版本控制是用於為版本提供含義的約定
如果Node.js軟件包中有一件很棒的事情,那就是所有人都同意將語義版本控制用於其版本編號。
語義版本控制的概念很簡單:所有版本都有3位數字:x.y.z
。
- 第一位是主要版本
- 第二個數字是次要版本
- 第三位數是補丁版本
發布新版本時,您不僅可以隨心所欲地增加數字,還可以遵循以下規則:
- 當您進行不兼容的API更改時,您可以升級主要版本
- 當您以向後兼容的方式添加功能時,您可以升級次要版本
- 進行向後兼容的錯誤修復時,您可以升級補丁程序版本
該約定在所有編程語言中都被採用,並且非常重要的一點是,npm
軟件包堅持使用它,因為整個系統都依賴於此。
為什麼這麼重要?
因為npm
設定一些我們可以在其中使用的規則package.json
文件選擇當我們運行時它可以將我們的軟件包更新到哪個版本npm update
。
規則使用這些符號:
^
~
>
>=
<
<=
=
-
||
讓我們詳細了解這些規則:
^
:如果您寫^0.13.0
跑步時npm update
它可以更新到補丁程序和次要版本:0.13.1
,0.14.0
等等。~
:如果您寫~0.13.0
,在跑步時npm update
它可以更新到補丁程序版本:0.13.1
可以,但是0.14.0
不是。>
:您接受比您指定的版本更高的任何版本>=
:您接受等於或高於您指定的版本的任何版本<=
:您接受等於或低於您指定的版本的任何版本<
:您接受低於指定版本的任何版本=
:您接受該確切版本-
:您接受各種版本。例子:2.1.0 - 2.6.2
||
:您將集合組合在一起。例子:< 2.1 || > 2.6
您可以結合使用其中一些符號,例如use1.0.0 || >=1.1.0 <1.2.0
使用1.0.0或從1.1.0開始的一個發行版,但低於1.2.0。
還有其他規則:
- 無符號:您僅接受您指定的特定版本(
1.2.1
) latest
:您想使用可用的最新版本
免費下載我的Node.js手冊
更多節點教程:
- npm軟件包管理器簡介
- Node.js簡介
- 使用Axios的HTTP請求
- 在何處託管Node.js應用
- 使用Node.js與Google Analytics(分析)API進行交互
- npx節點包運行器
- package.json指南
- npm在哪里安裝軟件包?
- 如何更新Node.js
- 如何使用或執行使用npm安裝的軟件包
- package-lock.json文件
- 使用npm的語義版本控制
- 您是否應該將node_modules文件夾提交到Git?
- 將所有Node依賴項更新到最新版本
- 使用Node.js解析JSON
- 查找npm軟件包的安裝版本
- Node.js流
- 安裝較舊版本的npm軟件包
- 在Node中獲取當前文件夾
- 如何在Node中記錄對象
- 使用導出從Node文件公開功能
- 節點和瀏覽器之間的區別
- 使用Node發出HTTP POST請求
- 使用Node獲取HTTP請求主體數據
- 節點緩衝區
- Node.js的簡要歷史
- 如何安裝Node.js
- 使用Node您需要知道多少JavaScript?
- 如何使用Node.js REPL
- 節點,從命令行接受參數
- 使用Node輸出到命令行
- 接受來自Node中命令行的輸入
- 使用`npm uninstall`來卸載npm軟件包。
- npm全局或本地軟件包
- npm依賴項和devDependencies
- Node.js事件循環
- 了解process.nextTick()
- 了解setImmediate()
- 節點事件發射器
- 建立一個HTTP服務器
- 使用Node發出HTTP請求
- Node fs模塊
- 使用Axios的Node中的HTTP請求
- 使用Node讀取文件
- 節點文件路徑
- 用Node寫入文件
- 節點文件統計
- 在Node中使用文件描述符
- 在Node中使用文件夾
- 節點路徑模塊
- Node http模塊
- 將WebSockets與Node.js結合使用
- 使用MySQL和Node的基礎知識
- Node.js中的錯誤處理
- 哈巴狗指南
- 如何從Node.js讀取環境變量
- 如何從Node.js程序退出
- Node os模塊
- 節點事件模塊
- 節點,開發與生產之間的區別
- 如何檢查Node.js中是否存在文件
- 如何在Node.js中創建一個空文件
- 如何使用Node.js刪除文件
- 如何使用Node.js獲取文件的最後更新日期
- 如何在JavaScript中確定日期是否為今天
- 如何將JSON對象寫入Node.js中的文件
- 為什麼要在下一個項目中使用Node.js?
- 從任何文件夾運行Web服務器
- 如何將MongoDB與Node.js結合使用
- 使用Chrome DevTools調試Node.js應用
- 什麼是pnpm?
- Node.js運行時v8選項列表
- 使用npm時如何解決“缺少寫訪問權限”錯誤
- 如何在Node.js中啟用ES模塊
- 如何使用Node.js生成子進程
- 如何在Express中同時獲取已解析的正文和原始正文
- 如何在Node.js中處理文件上傳
- 節點模塊中的對等依賴性是什麼?
- 如何使用Node.js編寫CSV文件
- 如何使用Node.js讀取CSV文件
- 節點核心模塊
- 使用Node.js一次增加多個文件夾的數量
- 如何將畫布打印到數據URL
- 如何使用Node.js和Canvas創建和保存圖像
- 如何使用Node.js下載圖像
- 如何在Node.js中批量重命名文件
- 如何獲取Node中文件夾中所有文件的名稱
- 如何使用Promise和基於Node.js回調的等待功能
- 如何在本地測試NPM軟件包
- 如何在運行時檢查當前的Node.js版本
- 如何使用Sequelize與PostgreSQL交互
- 使用Node.js服務HTML頁面
- 如何解決Node.js中的util.pump不是函數錯誤