NPM的包版本管理

NPM的包版本管理

一、版本号的结构

NPM遵循SemVer的规范,格式为"^1.6.9",(主版本号、次版本号、修订号);

  • 主版本号:很大的修改,这个版本号变动可能意味着你旧的代码无法正常运行;
  • 次版本号:增加了新功能,一般不影响现有运行,但是新功能仍然可用;
  • 修订号:修复了某些BUG;
  • 其他版本:有些还有例如-alpha内部测试版本,不稳定;-beta公测版,功能没问题,但是可能有BUG;-rc候选正式版,如果没问题就转正;NPM中预发布版本低于正式版本;

二、在package.json中指定版本范围

js 复制代码
  "slugify": "^1.6.9",

我们发现这个版本号有个^符号,这个代表兼容主版本,如果有更新,可以直接更新,但是不会更新主版本,例如有1.8.0版本,会直接更新,但是不会更新2.0.0;以这个举例,我们一起看看其他的:

写法 含义 解释
1.6.9 精确版本 只安装1.6.9的这个版本
^1.6.9 兼容主版本 任何1.x.x都会被更新,但是不会更新到2.x.x
~1.6.9 兼容次版本 任何1.6.X都会被更新,但是不会更新到1.7.X
>=1.6.9 大于等于 更新1.6.9及以上的任意版本
>1.6.9 大于 同理
<1.6.9 小于 同理

三、示例

  • 例如我们现在安装slugify1.0.0
js 复制代码
npm install slugify@1.0.0
  • 可以通过命令检查哪些包可以更新
js 复制代码
npm outdated
  • 更新兼容次版本号
js 复制代码
    "slugify": "~1.0.0",

现在更新只会更新到1.0.2

  • 如果修改为^1.0.0,会兼容主版本

  • 使用npm uninstall slugify会卸载

相关推荐
humcomm18 分钟前
AI编程时代新前端职位
前端·ai编程
好家伙VCC27 分钟前
Web Components主题热切换方案揭秘
java·前端
甲维斯1 小时前
Kimi版超级玛丽效果“惊人”,配额不足5厘米!
前端·人工智能
hboot1 小时前
AI工程师第一课 - Python
前端·后端·python
凉菜凉凉1 小时前
AI时代,被抛弃的前端
前端·ai
console.log('npc')1 小时前
AI前端工程与生成式UI学习路线
前端·人工智能·ui
梦曦i2 小时前
uni-router v1.1.1发布:守卫超时保护+路由监听
前端·uni-app
qq_2518364572 小时前
基于java Web网络订餐系统设计与实现 源码文档
java·开发语言·前端
飞天狗1112 小时前
零基础JavaWeb入门——第2课:让网页“活”起来 —— JSP是什么?
java·开发语言·前端·后端·web