npm发布之version和tag

使用nrm管理仓库源

  1. 安装nrm
    yarn global add nrm

  2. nrm添加registry
    nrm add npm https://registry.npmjs.org/

  3. 使用仓库源和测试仓库员
    nrm use npm
    nrm test npm

  4. 查看可用仓库源
    nrm ls
    nrm use npm

上面操作设置了 registry

npm adduser

假设没有设置:

npm adduser –registry https://registry.npmjs.org/

这里默认你已经切换源了,且在上面新建用户的时候添加了账户

npm login

按照提示输入即可

具体操作npm·publish

npm publish

version 和 tag

  1. version

发布到npm后,每一个版本号都对应了其资源文件,而且是不可修改的。npm中的版本号类似于git中的tag。

  1. tag

npm中也有个tag的概念,真是混乱。一般情况下,我们可以不指定tag,这时默认就会用latest这个tag,所有发布或者安装都是最新的正式版。而指定tag之后,我们可以在这个tag上发布一个更新的版本,用户安装的时候如果也指定这个tag,则会安装这个tag下的最新版。因此,npm中的tag类似于git中的branch。 next这个tag默认是测试版本

总结一下

version一旦发布,是不可变的;
而tag更像一个渠道,只要用户选择了这个渠道,就可以一直更新这个渠道的最新版。

切换tag

npm dist-tag ls

latest: 1.0.0
next: 1.0.0-alpha.0

如果我们不小心发布了一个1.0.0-alpha.1到latest,那么我们会得到:

latest: 1.0.0-alpha.1
next: 1.0.0-alpha.0

npm view user-picker versions

[ ‘0.1.0’,
‘1.0.0’,
‘1.0.0-alpha.0’,
‘1.0.0-alpha.1’ ]

npm dist-tag add user-picker@version tag

把原来的1.0.0设置成最新的正式版

npm dist-tag add my-package@1.0.0 latest

把1.0.0-alpha.1更新到最新的测试版

npm dist-tag add my-package@1.0.0-alpha.1 next

已经被废弃的命令,撤销已经发布的某个版本,虽然可以撤销但是该版本号也不能再重新发布

npm unpublish user-picker@1.20.1