1. ホーム
  2. npm

package.jsonのバージョン管理で「^」はどういう意味ですか?

2023-09-21 17:07:09

質問

私は最近 npm install (npm 1.4.3) を使って --save-dev フラグを付け、package.json に追加されたパッケージのエントリーはすべて ^ で始まっています。 "^2.5.0" . 私が使ってきた npm の以前のバージョンでは、このようなことは一度もありませんでしたし、この記法に関するドキュメントも見当たりません。ただ、私がすでに知っている記法、例えば ~ , >= などです。どのような意味があるのでしょうか?

どのように解決するのですか?

引用元 isaacs/node-semver :

  • ^1.2.3 := >=1.2.3-0 <2.0.0-0 "1.2.3との互換性". キャレット演算子を使用すると、指定されたバージョン(プレリリースを含む)から、次のメジャーバージョン(またはそのプレリリース)までがサポートされますが、これには含まれません。1.5.1 は ^1.2.3 を満たしますが、1.2.2 と 2.0.0-beta は満たせません。
  • ^0.1.3 := >=0.1.3-0 <0.2.0-0 "Compatible with 0.1.3". 0.x.x バージョンは特別です。最初の非ゼロ コンポーネントは潜在的に破壊的な変更を示し、キャレット演算子は指定されたバージョンから始まる同じ最初の非ゼロ コンポーネントを持つすべてのバージョンに一致することを意味します。
  • ^0.0.2 :=0.0.2 "バージョン 0.0.2 のみが互換性があると見なされます。

とはいえ、私は代わりに "~" を使用することをお勧めします。 npm/npm#4587 .