Javascript 如何使用npm';s dist标记是否与semvar版本一起使用?

Javascript 如何使用npm';s dist标记是否与semvar版本一起使用?,javascript,npm,tags,versioning,Javascript,Npm,Tags,Versioning,我有一个私人的npm图书馆。我们正在使用semvar方法,并通过以下方式对我们的项目进行版本化: npm version {patch, minor, major} 因此,用户可以通过以下方式进行安装: npm install mylib@1.5 npm install mylib@2.3.7 ... 现在,我遇到了一个用例,我想让开发人员尽早访问我的库的不稳定版本 看来dist标签应该适合我的需要。因此,我想发布一个betadist标签,以便开发人员可以通过 npm install myl

我有一个私人的npm图书馆。我们正在使用semvar方法,并通过以下方式对我们的项目进行版本化:

npm version {patch, minor, major}
因此,用户可以通过以下方式进行安装:

npm install mylib@1.5
npm install mylib@2.3.7
...
现在,我遇到了一个用例,我想让开发人员尽早访问我的库的不稳定版本

看来
dist标签
应该适合我的需要。因此,我想发布一个
beta
dist标签,以便开发人员可以通过

npm install mylib@beta
因此,在我不稳定的分支中,我尝试发布beta分支,但出现了错误:

npm publish --tag beta

npm ERR! code EPUBLISHCONFLICT
npm ERR! publish fail Cannot publish over existing version.
npm ERR! publish fail Update the 'version' field in package.json and try again.
npm ERR! publish fail 
npm ERR! publish fail To automatically increment version numbers, see:
npm ERR! publish fail     npm help version
这使我困惑

首先,我希望避免碰撞semvar版本。我希望它只将其当前状态作为NPMDist标记发布到存储库中。(我可以将任何我想要的东西推送到标记名上,因为它是一个元指针。)

只有当我的分支变得稳定并合并到主分支中时,我才打算升级版本(
minor
,在本例中)

所以,仅仅为了尝试一下,我在之前对版本进行了升级,然后发布了beta标签,但这也发布了新创建的次要版本,使其在发布之前可用,这不是我想要的,因为现在人们可能会跳进我的不稳定的未来版本


我不明白dist标签和软件包的版本应该如何与semvar版本一起使用,以及为什么我还需要为标签升级版本。

看来我想要实现的是快照方法。我发现了这个图书馆,期待着这个:相关的: