Node.js package-lock.json包要求漏洞(npm)
我有一个包,在package-lock.json中:Node.js package-lock.json包要求漏洞(npm),node.js,npm,Node.js,Npm,我有一个包,在package-lock.json中: "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { "arr-diff": "^2.0.0", "array-
"micromatch": {
"version": "2.3.11",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
"requires": {
"arr-diff": "^2.0.0",
"array-unique": "^0.2.1",
"braces": "^1.8.2",
"expand-brackets": "^0.1.4",
"extglob": "^0.3.1",
"filename-regex": "^2.0.0",
"is-extglob": "^1.0.0",
"is-glob": "^2.0.1",
"kind-of": "^3.0.2",
"normalize-path": "^2.0.1",
"object.omit": "^2.0.0",
"parse-glob": "^3.0.4",
"regex-cache": "^0.4.2"
}
}
该漏洞是:“大括号”:“^1.8.2”,当我运行npm audit时,它说它已修复为2.3.1,但我似乎无法更新它,或者只是不知道如何更新
我尝试过的事情:
- npm安装micromatch和支架,然后进行npm审计修复
- npm安装&npm卸载micromatch和支架,然后运行npm更新
- 删除node_模块和package-lock.json并执行npm i-f
- 手动编辑package-lock.json,将版本和需求更改为依赖项,然后执行npm审计修复(它修复了它,但随后我运行了npm安装,并将版本回滚到1.8.2)
{
"name": "project",
"version": "0.1.0",
"private": true,
"dependencies": {
"@material-ui/core": "^3.9.2",
"@material-ui/icons": "^3.0.2",
"micromatch": "^3.1.10",
"prop-types": "latest",
"react": "^16.8.2",
"react-async-component": "^2.0.0",
"react-dom": "^16.8.2",
"react-scripts": "^2.1.5",
"typeface-roboto": "0.0.54"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"devDependencies": {
"react-router-dom": "^4.3.1"
}
}
{
“名称”:“项目”,
“版本”:“0.1.0”,
“私人”:没错,
“依赖项”:{
“@material ui/core”:“^3.9.2”,
“@material ui/图标”:“^3.0.2”,
“微匹配”:“^3.1.10”,
“道具类型”:“最新”,
“反应”:“^16.8.2”,
“反应异步组件”:“^2.0.0”,
“react dom”:“^16.8.2”,
“反应脚本”:“^2.1.5”,
“roboto字体”:“0.0.54”
},
“脚本”:{
“开始”:“反应脚本开始”,
“构建”:“反应脚本构建”,
“测试”:“反应脚本测试”,
“弹出”:“反应脚本弹出”
},
“eslintConfig”:{
“扩展”:“反应应用程序”
},
“浏览者”:[
">0.2%",
“没有死”,
“不是ie您需要将micromatch模块升级到最新版本3.1,该漏洞是因为您使用的micromatch 2.3.11使用了旧版本的大括号。大括号版本在micromatch的最新版本中升级,因此只需升级您的micromatch模块即可。这将解决您的问题
升级,
将main package.json中的micromatch版本替换为3.1.10并保存
它
删除package-lock.json文件
我做npm吗
当micromatch升级支架模块时看到此提交-您是否尝试了npm audit fix--force
?我尝试了,但它没有解决问题。它说我需要手动解决漏洞。我如何升级它?在我的帖子中说,我已经尝试安装它,然后进行了npm audit fix,但没有修复pro问题是,由于package-lock.json不会根据需求更新版本,即使我在package.json中安装了更新的版本。而且我的帖子也非常清楚地指出“我似乎无法更新它,或者只是不知道如何更新”,所以回答“你需要升级它”"没有真正解释这个过程实际上是没有帮助的。我只是这么做了,但是相同的旧版本的micromatch,带有漏洞,一直出现在package-lock.json中。你能发布你的package.json文件吗?我编辑了主要的帖子。编辑:micromatch只出现在package.json中,因为我们刚刚尝试了解决方案,但我不需要它这里是为了让项目工作,如果可能的话,不要在那里。正如你说的,你不想在package.json中包含micromatch,但是如果你在代码库中使用该模块,那么你也需要提交micromatch的文件。这是我不建议做的事情,相反,你应该在package.json中包含它d npm使用您的package.json的内容安装,它对我来说运行良好。请参见此处的屏幕截图