码迷,mamicode.com
首页 > 其他好文 > 详细

npm相关依赖操作+版本问题

时间:2020-02-01 16:06:06      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:匹配   就是   bsp   pac   基本用法   操作   本地   模块   用法   

(1)基本用法

1、本地安装npm install <package name>,缩写install缩为i
2、全局安装npm install -global <package name>,缩写global缩为g

  技术图片

3、git地址安装

  技术图片

4、强制force(武力、军队)安装

  技术图片

5、删除node_modules文件夹,重新安装

  技术图片

 

 

(2)版本控制

1、安装潜规则:install命令总是安装模块的最新版本
2、特定版本指令为npm i <package name>@版本号

  技术图片

 

(3)指定依赖关系(生产依赖/开发依赖)

  技术图片

 

 

 

(4)版本说明~与^区别

  这里首先需要明确大版本→小版本→补丁包的区别(王者荣耀的玩家自动脑补即可......)

当我们查看package.json中已安装的库的时候,会发现他们的版本号之前都会加一个符号,有的是插入符号(^),有的是波浪符号(~)。那么他们到底有什么区别呢?
先贴一个例子,对照例子来做解释:

  技术图片  

  当我们使用最新的Node运行‘npm instal --save xxx‘,的时候,他会优先考虑使用插入符号(^)而不是波浪符号(~)了。
  这对于你来说意味这什么呢?首先我们需要理解这两者(~和^)的区别。

区别:

波浪符号(~):他会更新到当前minor version(也就是中间的那位数字)中最新的版本。放到我们的例子中就是:body-parser:~1.15.2,这个库会去匹配更新到1.15.x的最新版本,
如果出了一个新的版本为1.16.0,则不会自动升级。波浪符号是曾经npm安装时候的默认符号,现在已经变为了插入符号。 插入符号(^):这个符号就显得非常的灵活了,他将会把当前库的版本更新到当前major version(也就是第一位数字)中最新的版本。放到我们的例子中就是:bluebird:^3.3.4
这个库会去匹配3.x.x中最新的版本,但是他不会自动更新到4.0.0

通俗理解:

波浪号为补丁版本最新版
插入符号为小版本最新版

  技术图片

 

   接下来做下测试,实际考察下两者区别

 

(5)测试版本号~与^

  1、初始化项目后安装特定版本jquery1.1.11,如下

    技术图片

 

     技术图片

 

     接下俩看下下载的安装依赖版本

    技术图片

如图所示,正是1.1.11版本

  2、接下来删除依赖包和锁文件package-lock.json,再次下载

     技术图片

 

     我们看下^1.11.1再次通过npm i下载时的情况

此时版本为1.12.4,如下所示

 

    技术图片

1.12.4版本是哪一代呢?一起看下

    技术图片

 

     查看可知1.12.4为次要版本最后最新版,验证到此结束

  3、接下来验证~补丁版

同理,删除之前依赖包和锁文件,然后将版本控制为~

    技术图片

 

    接下来安装依赖

    技术图片

 

     然后看下依赖版本

    技术图片

通过~1.11.1下载后的依赖版本为1.11.3,为什么?接下来看下jquery版本更迭即可知道

    技术图片

 

    最后遵守“大版本.次要版本.小版本”的格式,1.11.x系列的补丁版小版本最后最新一版为1.11.3。验证到此

 

 

     

 

 

.

npm相关依赖操作+版本问题

标签:匹配   就是   bsp   pac   基本用法   操作   本地   模块   用法   

原文地址:https://www.cnblogs.com/jianxian/p/12248610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!