web-dev-qa-db-ja.com

NPMリリース候補バージョンを生成する方法

プレリリースの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

そんな感じ?

9
Alexander Mills

更新

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

10
Bamieh

次を使用できます。

npm version prerelease --preid=rc

結果:v1.0.0-rc.0

2
pook developer

次のようになります:

npm version prerelease

基本的に私が探しているものですが、これはバージョンにalpha/beta/rcを追加するのではなく、これを行うだけですx.y.z-n

1
Alexander Mills

npm version prerelease0.0.0-xバージョンを生成します

0