npm - 纱线的嵌套依赖项解析未显示在 yarn.lockfile 中
问题描述
我正在使用解决方案来解决来自嵌套依赖项 (@dep/xyz) 的漏洞。嵌套依赖使用的是存在漏洞的 axios 0.21.1。我应该升级到它上面的任何兼容版本。
当我将它添加到如下分辨率时,我没有在 yarn.lock 文件中看到嵌套依赖项的更新。请指教。
下面是我的 package.json 文件
包.json
{
"name" : "xyz",
dependencies: {
"@dep/xyz" : "2.3.4",
"axios": "^0.21.2"
},
"resolutions": {
"**/**/axios": "^0.21.2"
}
}
yarn.lock 在上面的 yarn install 之后创建
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
axios@^0.21.1, axios@^0.21.2:
version "0.21.4"
resolved "https:..."
integrity sha1-123...=
dependencies:
follow-redirects "^1.14.0"
"@dep/xyz@2.3.4":
version "2.3.4"
resolved "https:..."
integrity sha1-123...=
dependencies:
"@x/d1" "0.2.2"
"@y/d2" "0.9.2"
axios "^0.21.1"
解决方案
对于初学者,您不需要进行任何分辨率固定。@dep/xyz@2.3.4 正在使用“^0.21.1”的 semver 规范引入 axios。在这种情况下,它将接受 >=0.21.1 和 <0.22.0 的任何版本。你只需要使用 yarn 来更新正在解析的 axios 的版本。当您不需要时,我会建议您反对固定分辨率,因为这可能会导致长期不兼容。如果将来 axios 的版本 >=0.22.0 是您或您的依赖项尝试使用的,您的分辨率设置将强制将它们降低到 >=0.21.2 && <0.22.0 的范围内。
更直接地回答你的问题 - 我没有看到任何看起来有问题的地方。锁定文件完全符合我的预期。您对“axios@^0.21.2”的分辨率受到尊重,因为它引入了 0.21.4,它遵守了这一点(尽管就像我说的那样,实现这一点不需要分辨率)。您还没有完成与@dep/xyz 相关的任何类型的分辨率固定(您也不应该),所以那里没有任何改变。
推荐阅读
- logic - 人工智能中的逻辑应用
- python - 使用 nans 对数据进行相位解包
- android - 当底部工作表在片段中打开和关闭时,片段生命周期是什么?
- node.js - 给出错误答案时,槽答案返回未定义
- flutter - Flutter-如何使用月份的最后一天作为 Int 变量
- r - 使用高斯向树高数据添加错误
- python - RuntimeError:__class__ 未设置将“AbstractBaseUser”定义为
. 被 __classcell__ 传播 - android - Android:没有显示 RecyclerView 的 CardView
- assembly - 在 call/jmp 指令中解码立即数
- c# - 方法“添加”没有重载需要 3 个参数