プレリリースのNPMバージョンを生成したいとします。
もともと私はこれを持っています:
"version": "0.0.1"
私は試した:
npm version prepatch
npm version prepatch
npm version preminor
npm version preminor
それは私にこれを与えました:
v0.0.2-0
v0.0.3-0
v0.1.0-0
v0.2.0-0
これらは常に実際のバージョン番号を上げてしまうため、私には役に立たないように見えます。つまり、npm version patch
およびnpm version prepatch
あまり違いはないようです。
だから私の質問は-コマンドラインでnpmを使用してアルファ/ベータバージョンを生成する公式の方法はありますか?
npm version minor-alpha
npm version minor-beta
npm version minor-rc
そんな感じ?
Npm 6.3.0-next.0
以降、プレリリースにversion
のタグを付けるときに--preid
を使用できるようになりました。
npm version prerelease --preid=next
NPMリンク: https://docs.npmjs.com/cli/version
悲しいことに(そして少し皮肉なことに)npmはsemverのすべての機能を完全にサポートしているわけではありません!
必要なのは、 semver spec#9 にあるpre-idと呼ばれる機能です。それについてnpmにPRを提出しましたが、却下されました。 https://github.com/npm/npm/pull/13794
preidを使用すると、基本的にプレリリースのIDを指定できます。次に例を示します。
1.0.0-alpha or 1.0.0-alpha.1
フォレストはこの提案を コメント で拒否しました:
さらに検討し、チーム内で話し合った結果、これはCLIチームが着陸する変更ではないと判断しました。プレリリースバージョンの操作には注意が必要です。この機能は、プレリリースバージョンがフットガンになる機会の数を減らすのではなく増やすのに十分なEdgeケースです。
フットガンに関する私の懸念は、semver @ ^ 4で、プレリリースバージョンを〜と^に一致する範囲外にするという決定に関連しています。 semverの動作が変更された場合、特定のプレリリース識別子にオプトインする(そしてその中でインクリメントする)方法がある方が理にかなっているかもしれません。プレリリースバージョンをpeerDependenciesやその他の相互に関連するパッケージスイートとともに使用する際のReactコミュニティの苦難を観察した後、プレリリースバージョンに関するsemverの現在の動作の有用性はかなり限られていることは明らかです。つまり、その動作が変わる可能性がかなりあります。
ただし、現状では、プレリリースバージョンを使用したいユーザーは、npmversionなどのサードパーティツールを使用するか、代わりにnpmバージョン「x.y.z-prealpha.2」(またはユースケースに適したもの)を使用するスクリプトを作成する方がよいと思います。お時間をいただきありがとうございます。遅れて申し訳ありません。
彼が推奨するように、これを機能させるには、完全なsemverバージョン管理をサポートするツールを使用する必要があります。私は、ここのnpmドキュメント自体にあるsemverパッケージを事前に推奨します https://docs.npmjs.com/misc/semver
次を使用できます。
npm version prerelease --preid=rc
結果:v1.0.0-rc.0
次のようになります:
npm version prerelease
基本的に私が探しているものですが、これはバージョンにalpha/beta/rcを追加するのではなく、これを行うだけですx.y.z-n
。
npm version prerelease
は0.0.0-x
バージョンを生成します