nodejs的package.json定义了一个模块,包括其依赖关系的一个简单的JSON文件,该文件可以包含多个不同的指令来告诉Node包管理器如何处理模块。 dependencies则表示此模块依赖的模块和版本,其中常常可以看到类似 ^1.2.0 或 ~1.2.0 这样的版本范围指示。

首先,一个完整的版本号组表示为: [主要版本号,次要版本号,补丁版本号]

1. 用 ~ 指示范围

版本号中如果指定了主要版本、次要版本,则只允许补丁版本升级;

如果只指定了主要版本,则允许次要版本、补丁版本升级。

~1.2.3   指定了主要、次要版本,所以最高可升级到1.2.9

~1  指定了主要版本,则做高可升级到1.9.9

~1.2.3-beta.2 >=1.2.3-beta.2 < 1.3.0

(注:1.2.3版允许高于beta.2的beta版,但1.2.4-beta.2不被允许,因为是属于另一个版本号组的beta版本。)

2. 用 ^ 指定范围

允许不会改变最左边的不为零的版本号的版本提升,也就是说,^1.0.0允许次要、补丁版本升级,^0.1.0允许补丁版本升级,^0.0.x 不允许升级。

^1.2.3 >=1.2.3 < 2.0.0

^0.2.3 >=0.2.3 < 0.3.0

^0.0.3 >=0.0.3 < 0.0.4

^1.2.3-beta.2 >=1.2.3-beta.2 < 2.0.0

允许1.2.3 版的高于beta-2 的beta版本。

^0.0.3-beta.2 >=0.0.3-beta.2 < 0.0.4

只允许0.0.3 版的高于beta-2 的版本

当解析带有^的版本范围时,补丁版本号缺少会补 0,但是会灵活的处理,即主要、次要版本号都为 0 也可以。

^1.2.x >= 1.2.0 < 2.0.0

^1.x >= 1.0.0 < 2.0.0

^0.0.x >= 0.0.0 < 0.1.0

^0.0 >= 0.0.0 < 0.1.0

^0.x >= 0.0.0 < 1.0.0

参考链接:http://blog.csdn.net/kaosini/article/details/50353375

nodejs的package.json依赖dependencies中 ^ 和 ~ 的区别相关推荐

  1. nodejs的package.json配置参数

    一直对node设置package.json的参数不甚了解,借着vscode工具的注释,我把package.json中的options全部展示一下,中文注释部分可能不是package.json里的配置参 ...

  2. npm升级package.json依赖包到最新版本号

    转载自:https://blog.csdn.net/syaivin/article/details/79388244?utm_source=blogxgwz1 1.安装: npm install -g ...

  3. package.json 依赖包版本号

    依赖包版本号格式:major.minor.patch major 为主版本号(大版本号),变化了表示有了一个不兼容上个版本的大更改. minor 为次版本号(小版本号),变化了表示增加了新功能,并且可 ...

  4. npm升级package.json依赖包

    使用npm管理node的包,可以使用npm update <name>对单个包升级,对于npm的版本大于 2.6.1,可以使用命令: npm install -g 升级全局的本地包. 对于 ...

  5. json和python中字典的区别和联系_Python 中json与字典的关系

    Python开发中字典和 json的概念区别: json.dumps( dict ) 字典变为字符 json.loads( jsoninput ) 字符变为字典 一.字典 字典是一种数据结构,而jso ...

  6. json和python中字典的区别和联系_Python中 json字符串和字典的区别

    一.前言 工作或学习中,相信很多同学跟我一样,对于json字符串和字典两者的概念一直摸棱两可.emmm,既然不懂,那我们查资料并整理下来. 二.json字符串和字典的区别 简单粗暴地说,字典是一种数据 ...

  7. json和python中字典的区别和联系_python中字典和json的区别

    定义 python中,json和dict非常类似,都是key-value的形式,而且json.dict也可以非常方便的通过dumps.loads互转.既然都是key-value格式,为啥还需要进行格式 ...

  8. 在package.json中使用git URL依赖分支或标记?

    本文翻译自:Depend on a branch or tag using a git URL in a package.json? Say I've forked a node module wit ...

  9. Nodejs 中的包、npm 、第三方模块、 package.json 以及 cnpm

    一.包与 NPM 包Nodejs 中除了它自己提供的核心模块外,我们可以自定义模块,也可以使用第三方的 模块.Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依赖关系的模块进行 统一管理 ...

最新文章

  1. 我是如何通过开源项目月入 10 万的?
  2. * 执行多条更新的Sql语句
  3. php的安装配置,PHP 安装/配置
  4. 成功解决AttributeError: module 'numpy' has no attribute 'integer'
  5. github 运行python_Github Actions教程:运行python代码并Push到远端仓库
  6. ITK:二进制图像的最小和最大曲率流
  7. JQuery中的全选择器(通配符)
  8. php如何解码图片,php基于base64解码图片与加密图片还原实例_PHP
  9. java常用的日期类介绍
  10. 深度学习TF—14.WGAN原理及实战
  11. 收集Tomcat异常日志并发送邮件
  12. Mysql 忘记密码怎么办(win10)
  13. editplus php格式化,让Editplus自动格式化css和js
  14. 2021全国电赛H题回顾
  15. VueH5页面跳转高德地图导航
  16. 一次Linux遭入侵,挖矿进程被隐藏案例分析
  17. 双均线matlab操作,使用talib实现双均线策略
  18. wireshark不同颜色报文含义(报文颜色)
  19. C语言函数指针的几种用法【转】+gyy修改
  20. 华为云宣布将在全球范围内推出区块链服务

热门文章

  1. for each....in、for in、for of
  2. innodb_locks_unsafe_for_binlog分析
  3. 集美大学1414班软件工程个人作业2——个人作业2:APP案例分析
  4. 1-1、作用域深入和面向对象
  5. Java Inner Class 内部类
  6. weekendplan
  7. antdesignvue upload vue3个人笔记待更新
  8. 这 4 款实用小工具,能让你的电脑变得好用又骚气
  9. 网站中公用头部与尾部
  10. mysql中如何判断某个字段是纯数字