npm 包版本更新注意事项

相关知识:版本号的规范

首先有一个大原则就是:若无必要,无需升级。

简单的说就是如果当前项目还能正常跑,那么没有必要进行任何包的升级,除非有严重的 bug。

不过,既然如此,那么我们为什么还要升级依赖呢?

原因有以下几点:

  1. 大部分包在升级时或多或少还是提高了点性能,并且修复了点 bug,也会添加新特性。对于开发者而言使用最新的依赖一般情况下都是最优解。简单来讲,在项目的开发阶段,最好还是使用最新的依赖,这也为后续的升级提供一点方便,以免版本差异过大。
  2. 如果遵循了标准的版本号规范,在主版本号没有升级的情况下,一般都是向下兼容的,因此升级也未尝不可。

以上是一些支持升级依赖的理由,对于已经开发完毕的项目,依赖则要慎重升级,以免影响项目。主要理由如下:

  1. 并不是所有 npm 包都是遵循标准的版本规范。作者我也是见过进行了破坏性更新但是没有升级主版本号的项目。当然这是非常不可取的行为,会对用户造成极大的影响,如果以后我们自己写包的话千万要遵循版本号规范。
  2. 由于第一点,因此即便是同一个主版本号的依赖,也需要谨慎升级。最好是升级一个依赖就跑一遍项目看看没有什么问题。如果同时升级太多依赖可能会导致无法定位错误。

最后,则是演示一下一个 nodejs 项目要如何升级依赖。

需要的工具是npm-check,执行命令npm i -g npm-check即可

首先切换到要升级依赖的项目目录中,执行npm-check -u 即可升级本地依赖,如果需要升级全局依赖则添加-g即可。

由于网络问题,在执行npm-check -u时经常会无法访问 npm 官网,因此可以这样执行

npm-check -u --registry=https://registry.npm.taobao.org

如果顺利执行了以上命令,则应该会看到类似的界面。

npm-check

通过上下键和空格可以选择要升级的依赖。

此处请格外注意红色的依赖,这说明最新版已经升级了主版本号。这个一般不建议升级了。

粉色的则说明当前安装的是 0.x 版本,说明这个依赖还在开发中。

而绿色则是阶段版本号,一般是 bug 修复;黄色是子版本号,一般是新增功能。这两个都可以考虑升级

选完要升级的依赖后敲回车即可。


评论

发表回复