美文网首页
npm 和yarn 同时使用导致的bug

npm 和yarn 同时使用导致的bug

作者: qjsxq | 来源:发表于2023-07-12 15:20 被阅读0次

    在对一个新接手的老项目接入Sentry的时候,项目里面同时package.lock.json和yarn.lock。我用npm install 安装的Sentry相关依赖,没有问题。但是生产发布时却出现了element-plus组件的一些问题,比如el-dialog 的header消失,el-input-number输入1.03时,默认变成1.3。一开始以为是sentry和element-plus产生冲突导致的,最后发现是element-plus本身的问题。但是之前为什么没有问题呢,因为生产发布一值用的yarn,而且yarn.lock之前锁定的element-plus版本一直是2.2.9。但是这次发版之后发现element-plus变成了2.2.0,版本突然降的原因是因为package.lock.json里面锁定的版本是2.2.0,而且在使用npm install 的时候,yarn.lock文件内容会自动同步package.lock.json里的内容,反之不会,这就导致了yarn.lock文件锁定的element-plus版本变成了2.2.0,而element-plus版本本身是有问题的。
    解决:在package.json 里面使用

     "engines": {
        "npm": "please-use-yarn",
        "yarn": ">= 1.19.1",
        "node": ">= 12.5.0"
      },
    

    同时创建.npmrc 内容为

    engine-strict=true
    

    来控制 当安装依赖或者install时只能使用 yarn 或者只能使用npm

    相关文章

      网友评论

          本文标题:npm 和yarn 同时使用导致的bug

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