zl程序教程

您现在的位置是:首页 >  前端

当前栏目

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

npm依赖 操作 版本 相关 问题
2023-09-11 14:19:06 时间

(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。验证到此

 

 

     

 

 

.