当前位置: 首页 > 知识库问答 >
问题:

package-lock.json包需求漏洞

贺浩漫
2023-03-14

所以,我有这个包裹,在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-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依赖关系中,可能有一些事情我不理解。那么我该如何解决这个问题呢?

为软件包编辑。json

{
  "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"
  }
}

共有1个答案

贺季同
2023-03-14

您需要将您的微匹配模块升级到最新的3.1版本,该漏洞是因为您正在使用的微匹配2.3.11使用旧版本的大括号。大括号版本在最新版本的微匹配中升级,所以只需升级您的微匹配模块。那会解决你的问题。

升级,,

  1. 更换主软件包中的micromatch版本。json到3.1。10然后保存它
  2. 删除包锁。json文件
  3. 我做npm吗

看到这个提交时microMatch升级大括号模块-https://github.com/micromatch/micromatch/commit/cdff648d3f50f2f6342c7f23c899f95d8244b144

 类似资料:
  • npm@5已经发布,它有一个新的功能文件(在之后),这让我很困惑。我想知道,这个文件有什么效果?

  • 我错过了什么?如何让npm真正尊重我的锁文件?

  • 问题内容: 我最近才升级到 npm @ 5 。我现在有一个 package-lock.json 文件,其中包含 package.json中的 所有内容。我希望当我运行该程序时,将从锁定文件中提取依赖项版本,以确定应该在我的 node_modules 目录中安装什么。奇怪的是,它实际上最终修改并重写了 package-lock.json 文件。 例如,锁定文件的打字稿指定为版本 2.1.6 。然后,

  • 包含一个或多个Jython模块的任何文件夹都被识别为包。 但是,它必须有一个名为__init__.py的特殊文件,它提供要使用的函数的索引。 现在让我们了解一下,如何创建和导入包。 Step 1 - 创建一个名为package1的文件夹,然后在其中创建并保存以下g模块。 #fact.py def factorial(n): f = 1 for x in range(1,n+1):

  • 问题内容: 通常,在建立团队的过程中,我遇到了合并冲突,而我的快速解决方案一直是删除文件并使用重新生成文件。我没有认真考虑此修复程序的含义,因为它以前没有引起任何可察觉的问题。 删除文件并以这种方式重新创建而不是手动解决冲突是否存在问题? 问题答案: 是的,它可能并且将以非常糟糕的方式影响所有项目。 如果您的团队在每次使用后都没有运行,则你们都使用不同的依赖项版本。因此,其结尾为“但对我有用!!”

  • 有没有办法检查一个文件是否与兼容,而不运行?兼容意味着指定的版本可以通过来实现。 当前方法 我目前正在通过运行并检查是否更改为: 用例 我想在持续集成中添加一个测试,以确保如果开发人员修改了,他们也会相应地更新。这一点很重要的原因是我们的持续集成使用了,而不是仅引用,因此如果开发人员不更新锁文件,持续集成设置将与他们期望的不匹配。