如何从 node_modules 文件夹升级单个文件而不是升级整个包

问题描述

我需要升级 yarn.lock 文件夹中的 node_modules 文件之一以消除 Raven 漏洞问题。

文件路径为

src/node_modules/form-data/yarn.lock

我知道我可以使用 npm install 来安装新软件包。但是有没有办法让整个包保持当前版本,但升级包中的一个文件

解决方法

您可以直接编辑文件。或者您可以分叉包并仅更新文件,然后发布您的分叉。但是不,没有办法使用 npm (并且大概也不是 yarn )来更新文件而不更新包。那是设计使然。如果您运行 npm 命令并让它报告您运行的是 1.2.3 版,但实际上您运行的是 1.2.3 版并修改了一个或多个文件,则有很大的调试和恶意软件可能性。

您希望更新包中的 yarn.lock 文件,这让我有点困惑。如果 yarn.lock 文件位于 node_modules 中,则它们不会影响任何内容。对于 npmyarn 都是如此。如果 yarn.lock 文件不在您的顶级项目中,它会被忽略。更新 yarn.lock 内的 node_modules 不会对您正在运行的代码做任何事情。也许依赖项已列在您项目的顶级 yarn.lock 文件中?