如何向我们的npm包增加类似alpha、beta这样的版本而不会影响正常用户?

@kvkens 2017-12-25 01:56:54发表于 iuap-design/blog 前沿技术

如何使用npm来维护我们的仓库版本?

一般我们开发一款开源软件后,需要发布到npm让用户使用,但是我们一般发的版本用户会通过安装的时候自动安装到此版本。但是如果有BUG呢?就要立刻解决发布下一版本,这样大大的造成了风险,会让用户看到我们的缺陷版本,这样是不好的。我通过查询得知可以使用tag来避免此事。

一般查看一个包通过

npm view uba-server

会显示这个包的一些发布信息,以及版本信息、依赖等。

image

但是我们想直接看具体的版本tag通过下面

npm dist-tag ls uba-server

image

它会显示所有的tag信息
即npm dist-tag获取到所有的最新的版本,包括prerelease与稳定版本

我们来发布一个带tag的版本

切换到我们的发包根目录来运行发布

npm publish --tag next

在我们常规的发布中,增加--tag参数和后面的tag名字即可,这样在我们npm dist-tag ls uba-server的时候可以看到此包的tag信息。

这样就会看到我们刚发布tag了。

当我们的当前版本出现了BUG,需要切回之前的版本或者指定的版本,不用慌,这样做:

npm dist-tag add uba-server@1.0.0 latest

通过dist-tag的参数add添加指定的包@版本到具体的tag上就好了。

用户默认安装的版本就是latest

$ npm install uba-server -D

当我需要给其他同事去做测试的版本的时候就是我之前打的那个tag信息名字:

$ npm install uba-server@next -D

酱紫就OK了


总结:

详细用法看NPM API

  1. npm publish --tag next 发布tag
  2. npm dist-tag ls uba-server 查看tag
  3. npm dist-tag add uba-server@1.0.0 latest 切换tag