我正在玩一个新的打字稿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"
答案 0 :(得分:0)
从npm文档中:https://docs.npmjs.com/files/package-locks
npm的不同版本(或其他软件包管理器)可能已用于安装软件包,每个版本使用的安装算法略有不同。
如果您安装无软件包锁定,则可能会产生不同的输出。
这就是为什么在首次安装后需要提交package-lock.json
文件的原因,以确保团队中的任何人在运行npm install
之后都能得到完全相同的依赖树。