美文网首页
到底锁不锁 NPM 依赖树

到底锁不锁 NPM 依赖树

作者: 四爷在此 | 来源:发表于2019-12-26 18:24 被阅读0次

    首先看个问题 :package-lock.json 需要写进 .gitignore 吗

    看两个已有的回答:

    image.png image.png

    这是个团队的选择

    写不写到 ignore 里面,取决于团队。是否需要稳定的codebase, 抑或是相信依赖包项目可以自己fix 一些问题而不会导致依赖混乱。这两者不可兼得

    • 稳定的codebase ,就是 lock 所有依赖包以及依赖包的依赖包版本,精确到 patch 版本号,保证每次项目构建都能跑起来。但是很多第三方库的bug还是bug,可能一直不被 fix,因为 lock 版本了。这种选择需要 开发者 手动升级版本库(按需升级 npm install package@x.x.x),并且commit lock 文件到 repo,供其他团队成员去跟随安装。

    • 抑或是放开版本,随着时间推移,package.json 会拿到相对新的 第三方库,所以不同时间codebase 不同,也许会跑不起来,也许会 fix 掉一些lib 的问题。(自动升级)

    lock 版本,实际上包括了 nested dependency,这是关键的。保证exact 版本号,精确的依赖树,这是稳定为王的选择,但是需要每个团队成员手动更新包之后,要确认能跑起来,并且 commit lock.json ,这是比较靠谱的

    私有仓库搭建

    .npmrc 文件 可用于配制私有仓库

    @company:registry=https://xxx.com

    Served by any NPM registry server. 可以参考下 verdaccio 这个库

    参考资料

    package-lock.json 需要写进 .gitignore 吗

    what-is-the-role-of-the-package-lock-json

    https://juejin.im/post/5cb3fb09e51d456e660d448e

    what-is-verdaccio

    相关文章

      网友评论

          本文标题:到底锁不锁 NPM 依赖树

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