[转]npm生成的package.json文件中依赖项版本号前的波浪号(~)和插入符号(^)是啥意思?

 

package.json一般也就长这么模样:

 

{"name": "","description": "","version": "4.17.1","author": "","contributors": [],"license": "MIT","repository": "","homepage": "","keywords": [],"dependencies": {"accepts": "~1.3.7","array-flatten": "1.1.1","body-parser": "^1.19.0","content-disposition": "0.5.3","content-type": "~1.0.4","cookie": "^0.4.0","cookie-signature": "1.0.6","debug": "2.6.9","depd": "~1.1.2","encodeurl": "~1.0.2"},"devDependencies": {},"engines": {"node": ">= 0.10.0"},"files": [],"scripts": {"lint": "eslint .","test": "mocha --require test/support/env --reporter spec --bail --check-leaks test/ test/acceptance/","test-ci": "...","test-cov": "...","test-tap": "mocha --require test/support/env --reporter tap --check-leaks test/ test/acceptance/"}
}

 

其中十分重要的一项就是dependencies,也就是依赖项,每次npm install的时候下载下来的东东都是根据这里来的。

 

很显然这个dependencies对象中的key是依赖项的名称,值则是版本号,但是版本号前面有的啥也没有,比如:“array-flatten”: “1.1.1”,有的有波浪号,比如:“accepts”: “~1.3.7”,也有的有插入符号,比如:“body-parser”: “^1.19.0”。那这些到底有啥区别呢?

 

其实也比较简单:

 

波浪号〜匹配最新补丁版本号,也就是版本号的第三个数字。比如~1.2.3将匹配所有1.2.x版本,但将在1.3.0上停止。

 

插入符号^ 更宽松。 它匹配的是最新次要版本号,也就是第二个数字。比如:^ 1.2.3将匹配任何1.x.x版本,包括1.3.0,但将在2.0.0上停止。

 

前面啥符号也没有,很显然意思就是确定唯一指定的版本号。

 

当然这里还可以写>,>=,<,<=,比如:

 

"dependencies": {"accepts": "~1.3.7","array-flatten": "1.1.1","body-parser": "^1.19.0","content-disposition": ">0.5.3","content-type": "~1.0.4","cookie": "^0.4.0","cookie-signature": "<1.0.6","debug": ">=2.6.9","depd": "~1.1.2","encodeurl": "<1.0.2"}

 

意思也很简单,就是大于,或者大于等于,小于或者小于等于后面的版本号。

 

如果前面是星号*,那意思就是匹配任何版本。

 

如果版本号的值是latest,那意思安装的永远是最新发布的版本。

 

如果只匹配版本号的其中一位,除了上面的做法外,还有一种,那就是用x,比如:1.2.x,就可以匹配1.2.1,1.2.2,…,但是1.3.0肯定是不行的,这大家都懂,不用多解释。

 

最后再举个栗子吧:

 

"dependencies": {"accepts": "1.3.x"}


---------------------
作者:K.Sun
来源:CSDN
原文:https://blog.csdn.net/sinat_36246371/article/details/94621109
版权声明:本文为作者原创文章,转载请附上博文链接!
内容解析By:CSDN,CNBLOG博客文章一键转载插件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285314.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 C# 提取 PDF 文件中的所有文字(支持 .NET Core)

PDF 是 Portable Document Format 的简称&#xff0c;意为“可携带文档格式”&#xff0c;是由 Adobe Systems 用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。PDF 文件以 PostScript 语言图象模型为基础&#xff0c;无论在哪种打印机上都可保证精确…

【错误异常大全】:正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

文章目录 错误异常:解决方案一:解决方案二:错误异常: 正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。 解决方案一: 1、把VS菜单的 调试->异常->Managed Debuggin Assistants->LoaderLo…

Linux——JDK的部署

1.检查一下系统中的jdk版本[java] view plaincopy $>java -version java version "1.7.0_"OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-x86_64)OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)2.检测JDK安装包[java] view pla…

python字符串格式化方法 format函数的使用

python从2.6开始支持format&#xff0c;新的更加容易读懂的字符串格式化方法&#xff0c;从原来的% 模式变成新的可读性更强的花括号声明{}、用于渲染前的参数引用声明&#xff0c; 花括号里可以用数字代表引用参数的序号&#xff0c; 或者 变量名直接引用。从format参数引入的…

C语言试题133之画圆形

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:画圆形 2 、温馨提示 想获取…

ReactDom.render和React.render的区别

这个是react最新版api&#xff0c;也就是0.14版本做出的改变。主要是为了使React能在更多的不同环境下更快、更容易构建。于是把react分成了react和react-dom两个部分。这样就为web版的react和移动端的React Native共享组件铺平了道路。也就是说我们可以跨平台使用相同的react组…

[转]阿里编程规范(精简版)

文章目录 1、简介2、命名:3、格式规约4、注释规约5、OOP规约6、集合处理7、控制语句8、异常9、日志10、单元测试11、工程规约1、简介 统一规范标准将有助于提高行业编码规范化水平&#xff0c;帮助行业人员提高开发质量和效率、大大降低代码维护成本 2017年年初&#xff0c;首次…

C#(Sharp)GDI plus与图形编程(计算机图形学必备知识)

文章目录 9.1 GDI+与图形编程9.1.0 GDI概念9.1.1 GDI+绘图命名空间9.1.2 坐标系统9.1.3 Graphics类9.2 绘图工具类9.2.1 Pen类9.2.2 常用图形的绘制方法9.2.3 Brush 类9.3 绘制相关图形9.3.1 绘制曲线9.1 GDI+与图形编程 9.1.0 GDI概念 GDI是Graphics Device Interface的缩写…

.Net之延迟队列

介绍具有队列的特性&#xff0c;再给它附加一个延迟消费队列消息的功能&#xff0c;也就是说可以指定队列中的消息在哪个时间点被消费。使用场景延迟队列在项目中的应用还是比较多的&#xff0c;尤其像电商类平台&#xff1a;订单成功后&#xff0c;在30分钟内没有支付&#xf…

C语言试题134之画直线

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:用 line 画直线 2 、温馨提示…

KeyMob应用开发者服务平台帮助开发者推广和盈利

为什么80%的码农都做不了架构师&#xff1f;>>> 2014年10月&#xff0c;新版KeyMob移动广告聚合平台正式上线&#xff0c;登入KeyMob移动广告聚合平台即可看到聚合功能&#xff0c;目前新KeyMob整合了国内外多家主流的广告平台&#xff0c;实实在在的为应用开发者赚…

Android GIS开发系列-- 入门季(13)Gdal简单写个shp文件

Gdal是用来读写栅格与矢量数据的&#xff0c;在Gdal官网&#xff0c;可以下载相关的资源进行平台的编译。其实Arcgis底层也是用Gdal来读取shp文件的&#xff0c;那在Android中可以直接读写shp文件吗&#xff0c;是可以的。这里已经有人编译了Android端的so &#xff0c;下载地址…

VS code 搭建Vue 项目

必备工具&#xff1a;Vs Code、NodeJs 1、新建一文件目录来存放工程文件 2、右键用VS Code打开 3、Ctr 打开terminal面板&#xff0c;建议先将设置镜像服务器&#xff0c;可能否则安装比较慢。 npm config set registry https://registry.npm.taobao.org --globalnpm config…

C语言试题135之画方形

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:用 rectangle 画方形 2 、温…

C#(Sharp)操作数据库原理及案例精析(强烈建议收藏)

刘一哥C#从入门到精通系列精品教程合集: 1.【C#程序设计】教学讲义——第一章:C#语言概述 2.【C#程序设计】教学讲义——第二章:简单C#程序设计 3.【C#程序设计】教学讲义——第三章:C#语言基础 4.吐血整理:C#顺序、选择、循环结构用法与案例,这一篇就够了! 5.C#数组原来…

SpringMVC4零配置--web.xml

servlet3.0规范后&#xff0c;允许servlet&#xff0c;filter&#xff0c;listener不必声明在web.xml中&#xff0c;而是以硬编码的方式存在&#xff0c;实现容器的零配置。 ServletContainerInitializer&#xff1a;启动容器时负责加载相关配置 Java代码 package javax.servl…

GoldenGate介绍

Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件&#xff0c;它通过解析源数据库在线日志或归档日志获得数据的增量变化&#xff0c;再将这些变化应用到目标数据库&#xff0c;从而实现源数据库与目标数据库同步。Oracle Golden Gate可以在异构的IT基础结构&…

[转]我们为什么要用vue,他解决了什么问题,如何使用它?

Vue.js新手入门指南 最近在逛各大网站&#xff0c;论坛&#xff0c;以及像SegmentFault等编程问答社区&#xff0c;发现Vue.js异常火爆&#xff0c;重复性的提问和内容也很多&#xff0c;楼主自己也趁着这个大前端的热潮&#xff0c;着手学习了一段时间的Vue.js&#xff0c;目前…

java反射机制续

http://www.cnblogs.com/fingerboy/p/5325261.html转载于:https://www.cnblogs.com/yangmin-78819/p/5328869.html

测量人看过来:多种语言编写的测量坐标反算神器附源码(C#/VB)

坐标正算:【小程序】坐标正算神器V1.0(附源程序) 坐标反算一直是困扰测量人的一个问题,坐标反算是指已知两点坐标,反求边长和方位角。本文演示用C#和VB语言实现过程。 文章目录 一、坐标反算原理1. 原理图2. 计算公式3. 象限角4. 限角和坐标方位角的关系二、C#语言实现1. …