当“ node_modules”退出时,“ npm install”是什么?

时间:2019-05-24 13:06:03

标签: javascript node.js npm

当项目目录中同时具有“ package.json”目录和“ node_modules”目录时,“ npm install”有什么作用?

它会覆盖现有模块吗?它会更新它们还是什么都不做?

1 个答案:

答案 0 :(得分:2)

来自官方Algorithm Section中的NPM Docs


  
      
  • 从磁盘加载现有的node_modules树
  •   
  • 克隆树
  •   
  • 获取package.json和分类的元数据并将其添加到克隆中
  •   
  • 遍历克隆并添加所有缺少的依赖项      
        
    • 依赖项将尽可能靠近顶部添加
    •   
    • 不破坏任何其他模块
    •   
  •   
  • 将原始树与克隆的树进行比较,并列出
  •   
  • 将其中一个转化为另一个的操作
  •   
  • 执行所有动作,最深的优先      
        
    • 各种动作是安装,更新,删除和移动
    •   
  •   

因此,不会再次覆盖每个现有软件包。
它获取所有包,并比较包树和包文件之间的元数据。