来自不同npm版本的不同程序包锁定结果

时间:2019-04-03 19:51:49

标签: javascript npm create-react-app

我正在玩一个新的打字稿react应用。 (使用CRA创建) 我在PC上使用npm@5.6.0,在另一台计算机上使用@ 6.4.1。 较新的版本会安装具有比较新版本更旧版本的依赖项。 较新的版本在安装后还显示63个严重程度较低的漏洞。

installed with 5.6.0
        "@babel/code-frame": "7.0.0",
        "@babel/generator": "7.4.0",
        "@babel/helpers": "7.4.2",
        "@babel/parser": "7.4.2",
        "@babel/template": "7.4.0",
        "@babel/traverse": "7.4.0",
        "@babel/types": "7.4.0",
        "convert-source-map": "1.6.0",
        "debug": "4.1.1",
        "json5": "2.1.0",
        "lodash": "4.17.11",
        "resolve": "1.10.0",
        "semver": "5.6.0",
        "source-map": "0.5.7"

    installed with 6.4.1
        "@babel/code-frame": "^7.0.0",
        "@babel/generator": "^7.2.2",
        "@babel/helpers": "^7.2.0",
        "@babel/parser": "^7.2.2",
        "@babel/template": "^7.2.2",
        "@babel/traverse": "^7.2.2",
        "@babel/types": "^7.2.2",
        "convert-source-map": "^1.1.0",
        "debug": "^4.1.0",
        "json5": "^2.1.0",
        "lodash": "^4.17.10",
        "resolve": "^1.3.2",
        "semver": "^5.4.1",
        "source-map": "^0.5.0"

1 个答案:

答案 0 :(得分:0)

从npm文档中:https://docs.npmjs.com/files/package-locks

  

npm的不同版本(或其他软件包管理器)可能已用于安装软件包,每个版本使用的安装算法略有不同。

如果您安装无软件包锁定,则可能会产生不同的输出。

这就是为什么在首次安装后需要提交package-lock.json文件的原因,以确保团队中的任何人在运行npm install之后都能得到完全相同的依赖树