わかりました。あなたは新しいパッケージをリリースしようとしています...一歩踏み出しましたが、ライブラリに変更が必要かどうかは不明です。つまり、「今すぐ v0 をリリースして、後で十分な準備ができたら v1 をリリースするべきかもしれない」と言うのです。この記事では、最初から v1 をリリースするよう説得していきます。
v1 をリリースする理由はいくつかあります:
私にとって、v0 のさまざまな理由は要約すると次のとおりであると思われます。
...
しかし、semver リポジトリにあるこの興味深い問題: https://github.com/semver/semver/issues/221 を読んだ後、私の意見は変わりました。バージョン 0.x の使用は不安定であることを示しますが、実際には、一部のライブラリが不安定です。
不安定とはどういう意味ですか? ライブラリが変更されるというわけではありません (これらの変更は計画でき、メジャー バージョン番号で表すことができるため)。不安定性はバグの蔓延に関係します。
次のようなバグが考えられます:
補足: これら 2 つの違いはほとんどありません。多くのバグは、API 間の単なる不一致または非互換性です。
それでは --- あなたのライブラリが消費者にとって壊れる可能性はどれくらいでしょうか?この質問に答えることができるのはライブラリの管理者だけであり、多くの場合、それは消費者によって時間をかけて提起されてきた問題の経験に基づいています。
しかし、ライブラリがどの程度不安定になるかをリリース前にどうやって知ることができるのでしょうか?おそらく 0.x に一定期間を置くのが良いでしょう。
しかし、ライブラリが 0.x から抜け出すことはあるのでしょうか?慣性は現実のものだからです。時間はありますか?委員会を通過するでしょうか?それはリスクです。
一方、1.0.0 リリースのリスクは、頻繁にアップグレードすると消費者が不安定になることです。しかし、これには緩和策があります。まず、ロックファイルを使用すると、パッケージのアップグレードが手動で行われます。消費者は、アップグレードしない限り問題の影響を受けません。また、単にアップグレードしないことも、アップグレードを後で延期することもできます。
新しい消費者がバグのあるリリースにたどり着く可能性はありますが、それは 0.x システムにも当てはまります。
storybook のようなライブラリは (私の経験では) バージョン間であまり安定していませんが、まだ 0.x を使用していません。それだけの価値があるからです。
そして、推移的な依存関係の領域があります。あなたのパッケージが別のパッケージの依存関係である場合、その他のパッケージは使用するサーバー範囲を決定する必要があります。あなたの安定性はそのパッケージの安定性に影響を与えるため、賭け金はより高くなります。
そのパッケージはライブラリを固定するか、より広い範囲のサーバーを使用します。前者の場合、重複が発生してパフォーマンスが低下します。 2 番目のケースでは、不安定になる危険があります。最初のオプションはスターターではなく、不安定さは常にリスクであると断言したいと思います。
ここには答えがありませんが、重要な点は、あなたのライブラリが他のライブラリによって使用されている場合、リスクはより高く、おそらくあなたのライブラリが安定していることを確認する必要があるということです。
したがって、安定したライブラリを作成するように努めるべきですが、それが不安定な場合は、安定するまで 0.x を使用してください。ただし、可能であれば 1.x.
を使用してください。以上がsemver `.0` で始まるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。