package.json のチルダ (~) とキャレット (^) の違いは何ですか? 質問する

package.json のチルダ (~) とキャレット (^) の違いは何ですか? 質問する

最新の安定版と にアップグレードした後nodenpmを試しましたnpm install moment --save。 のエントリはpackage.jsonキャレット^プレフィックス付きで保存されます。以前は、チルダ~プレフィックスでした。

  1. なぜこれらの変更が で行われたのですかnpm?
  2. ~チルダとキャレットの違いは何ですか^
  3. 以前のものと比べてどのような利点がありますか?

ベストアンサー1

を参照してくださいNPMドキュメントそしてsemver ドキュメント:

  • ~version 「バージョン とほぼ同等」は、マイナー バージョンを増分せずに、下位互換性のある将来のすべてのパッチ バージョンに自動的に更新します。から < まで~1.2.3のリリースを使用します1.2.31.3.0

  • ^version 「バージョンと互換性あり」は、メジャー バージョンを増分せずに、下位互換性のある将来のすべてのマイナー/パッチ バージョンに自動的に更新します。から < まで^1.2.3のリリースを使用します1.2.32.0.0

例外については以下のコメントを参照してください。^0.2.3 などの 1 より前のバージョンの場合

おすすめ記事