我想知道package.json 中的semver 符號之間的確切區別。誰能給我解釋一下。
uj5u.com熱心網友回復:
我認為 npm 檔案解釋得很好:https ://docs.npmjs.com/cli/v6/using-npm/semver#advanced-range-syntax
由于發生了很多事情,也許對最常見的兩個進行簡要說明:
插入符號 (^) 將自動轉到最高次要和補丁版本,除非主要版本為 0。在這種情況下,只會更新補丁版本。
波浪號修飾符 (~) 只會轉到最高的補丁版本。所以當主版本為 0 時 ~ 和 ^ 是相等的。
uj5u.com熱心網友回復:
Semver 表示法不是專門used在package.json.
如果遵循 (*1),它可以幫助開發人員了解對任何特定更新的期望。想象一下,您想要提升庫的版本,您會發現差異在于major版本的部分(n in n.*.*)。根據 SEMVER 的說法,這可以指出升級包的潛在影響MAJOR version when you make incompatible API changes,。
*1 開發人員并不總是遵循它。一個突出的例子是 React Native。開發人員從未發布過主要版本,并將MINOR其視為MAJOR
uj5u.com熱心網友回復:
我從節點 js 檔案中得到了這個。問題有一個很好的解釋。
https://nodejs.dev/learn/the-package-lock-json-file
在 package.json 中,您可以使用 semver 表示法設定要升級到的版本(補丁或次要版本),例如:
- 如果你寫 ~0.13.0,你只想更新補丁版本:0.13.1 可以,但 0.14.0 不行。
- 如果你寫 ^0.13.0,你希望得到不改變最左邊的非零數字的更新:0.13.1、0.13.2 等等。
- 如果您撰寫 ^1.13.0,您將獲得補丁和次要版本:1.13.1、1.14.0 等等,直到 2.0.0 但不是 2.0.0。
- 如果你寫的是 0.13.0,那就是將要使用的確切版本,總是
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/444096.html
