[轉]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.pswp.cn/news/285314.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285314.shtml
英文地址,請注明出處:http://en.pswp.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. …