npm @next tag alpha

Posted mrt-yyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了npm @next tag alpha相关的知识,希望对你有一定的参考价值。

虽然自从leftpad事件之后,NPM取消了npm unpublishnpm publish -f操作,但是我们错误地把测试版发布成正式版之后,不要惊慌,要稳住,因为我们能赢。

概念

首先介绍几个概念:

  • version

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

  • tag

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

总结一下

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

也因此,version和tag是相互独立的。

切换tag

回到我们的问题,如果不小心把1.0.0-alpha.1直接npm publish了,我们该怎么办?

命令一:npm dist-tag ls

查看当前的tag和对应的version。

通过这个命令,我们可以得到这样的结果:

latest: 1.0.0
next: 1.0.0-alpha.0

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

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

这个时候我们只要切一下tag就可以挽回局面了。

命令二:npm view my-package versions

查看my-package发布过的所有版本号。

通过这个命令可以得到一个数组:

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

命令三:npm dist-tag add my-package@version tag

给my-package设置tag,对应到版本version。

如:

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

    $ npm dist-tag add my-package@1.0.0 latest
    
  2. 把1.0.0-alpha.1更新到最新的测试版

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

老板再也不用担心我搞出线上故障了。



作者:寂寞的原子
链接:https://www.jianshu.com/p/91902bae5572
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以上是关于npm @next tag alpha的主要内容,如果未能解决你的问题,请参考以下文章

在项目中如何使用ESLint提高代码质量

-next 在语义版本控制中的含义

npm 版本添加 alpha 后缀

文档准备好时导入 npm (ReactJS/Next.js)

将 OpenGL 片段着色器设置为仅通过漫反射减少 vec4 色点的 RGB 值,而不是 alpha

npm : 无法加载文件 D:softcodeProcess ode ode_global pm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micr +(代码片段