美文网首页
package.json和package-lock.json区别

package.json和package-lock.json区别

作者: 王云飞_小四_wyunfei | 来源:发表于2019-08-28 09:52 被阅读0次

    package.json和package-lock.json区别

    package-lock就是锁定安装时的包版本号,需要上传到git上,以保证其他人在install时候,大家的依赖版本相同。
    这个package-lock.json 是在 npm install时候生成一份文件,用以记录当前状态下实际安装的各个npm package的具体来源和版本号.
    这里的^向上尖号是定义向后(新)兼容依赖,如果types/node版本是超过8.0.33,并且是在大版本(8)上相同,就允许下载最新的types/node包。同一个大版本不同版本号之间存在差异,导致依赖库包行为特征有时候不兼容。

    所以npm最新的版本就开始自动生成package-lock.json功能,目的就是确保所有库包与你上次安装的完全一样。
    package.json文件只能锁定大版本,即版本号的第一位,不能锁定后面的小版本,你每次npm install时候拉取的该大版本下面最新的版本,可能有些童鞋之前就踩过类似的坑。

    一般为了稳定性考虑我们不能随意升级依赖包,因为如果换包导致兼容性bug出现很难排查,所以package-lock.json就是来解决包锁定不升级问题的。

    如果要升级package-lock.json里面的库包,怎么操作呢?

    npm install XXX@x.x.x  
    

    相关文章

      网友评论

          本文标题:package.json和package-lock.json区别

          本文链接:https://www.haomeiwen.com/subject/frnuectx.html