Una

接下来的日子,陆续把未总结的问题补充起来......

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

package-lock.json的作用:

   锁版本,确保项目在后续拉去中,安装依赖包时依赖包的版本始终是统一的

 

在npm install时会自动生成package-lock.json

 

package.json与package-lock.json相同时,npm安装包时以package-lock.json为准,当两者不同时,npm install时会以package.json为准,并同时更新package-lock.json(未经过本人验证)。

 

没必要锁版本时可以不用package-lock.json锁版本。

 

package-lock.json与package.json的不同:

package-lock.json记录的是依赖树,记录了依赖模块之间的完整依赖关系。package.json记录的是依赖项,不能锁定依赖的依赖。

 

额外补充:

   npm vs yarn:

      它们都是包管理工具,npm是node默认的包版本工具。

      yarn的出现最早是为了解决npm的缺点:下载依赖慢、不能确保的版本统一等问题。

      yarn与npm最重要的几点不同:

        yarn是并行安装依赖模块,npm是按队列形式安装前面的包安装完成后面的包才能安装;

        yarn对已经安装过的包会有缓存,npm每次安装都需要去网上下载。

   升级后的npm与yarn一样,也具备了锁版本的功能,可以保证在不同环境下拉取到的项目,在安装依赖包时,版本是一致的。

 

参考资料:

升级间接依赖:https://juejin.im/post/5b6908ba6fb9a04f9c43e7b8

谈yarn: https://www.bittiger.io/blog/post/BQGg7FzRPHjh84iu9

yarn vs npm:https://juejin.im/post/5b6908ba6fb9a04f9c43e7b8

yarn vs npm外文:https://blog.risingstack.com/yarn-vs-npm-node-js-package-managers/

package-lock.json冲突问题:https://www.jianshu.com/p/1d2e2f8c9ab2

posted on 2019-02-26 09:58  youyi2016  阅读(2700)  评论(0编辑  收藏  举报