2013-11-28 7 views
8

私のアプリでは、ユーザはnpm install - bog標準動作を実行して依存関係をインストールしています。npmはセミナーで新しいプレリリースバージョンを守りますか?

しかし、私は頻繁に変更されるパッケージが1つあります。ちょうど0.1.12324のような大量のバージョン番号で終わらないように、プレリリースの概念を見つけました。

npm installを実行するとnpmはプレリリース番号をどのように扱いますか?

私がインストールさpackageAのない新しいユーザーは自動的にそのバージョン(0.1.1-r1234)がインストールされているということを知っている:0.1.1-r1234のバージョン番号を持っており、私のユーザーが~0.1.1の依存semverを持ってpackageA私のパッケージを想定し

packageAが既にインストールされている場合、バージョン0.1.1-r1233の場合はどうなりますか? npm installは新しいプレリリースをインストールすることを知っていますか?

答えて

5

私自身の質問に答えたようです。 From the main page at semver.org

次のように同じメジャー、マイナー、およびパッチバージョンを有する2つのプレリリースバージョンの優先順位が発見される差まで、左から右へ、各ドット分離識別子を比較することによって決定されなければならない

:識別子のみからなります数字は数値で比較され、文字またはハイフン付きの識別子はASCIIのソート順で字句比較されます。数値識別子は、非数値識別子よりも常に優先順位が低くなります。先行する識別子のすべてが等しい場合、解放前フィールドのより大きなセットは、より小さいセットよりも高い優先順位を有する。例:1.0.0-alpha < 1.0.0-alpha 1 < 1.0.0-alpha < 1.0.0-beta < 1.0.0-beta2 < 1.0.0-beta.11 < 1.0.0- rc.1 < 1.0.0。