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

npm的lock机制

时间:2019-08-28 10:36:10      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:pos   机制   重新安装   不同   xca   固定   post   json   sem   

简述

npm install命令的输入为package.json,输出结果为一个格式化的node_modules树:代表着你定义的项目依赖。在理想情况下,我们希望npm表现的像一个纯函数一样:相同的package.json总是生成相同的node_modules结构树。但是实际上大多数的情况下这是办不到的。以下是导致这种现象的几点原因:

  1. 不同人使用的npm进程版本如果不同,不同npm版本使用的 package.json 解析和安装算法可能有细微差别。
  2. 如果 pacakge.json 中记录的依赖包的版本是一个 semver-range的版本号(即是一个版本范围),那么一旦执行 npm i 就会导致这个包更新到更新的版本。
  3. 就算你依赖了一个固定版本的包,比如A 1.1.1,但是这个1.1.1版本的包依赖了一个B^1.1.2,那么当B包发布了新的版本的时候,重新安装依赖的话B包的版本也会更新。
  4. 如果你用的不是官方的 registry 源,可能私有的源会有版本突变,也会导致不同的人安装到不同的依赖包版本。

参考

  1. 理解NPM5中的lock文档
  2. npm中的package锁
  3. npm语义化版本号

原文:大专栏  npm的lock机制


npm的lock机制

标签:pos   机制   重新安装   不同   xca   固定   post   json   sem   

原文地址:https://www.cnblogs.com/petewell/p/11422348.html

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