- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 pnpm 管理 npm 项目,不小心修改了安装包的内容,比如我清除了 node_modules/jquery/dist/jquery.js
的内容。
问题是无论我如何重新安装 jquery( pnpm install jquery
),此文件的内容始终为空。我什至试图从 pnpm store jquery
中删除 ~/.pnpm-store/
,但这不起作用(也许我删除了错误的包)
最后,我必须删除 ~/.pnpm-store
中的所有文件,下载所有内容,它解决了我的问题,但我想知道是否有更简单的方法来做到这一点。
最佳答案
{ 我的回答将涵盖 pnpm v2.16.2
}
简短回答:运行 pnpm install --force
。 ( pnpm update
也可以工作)
长答案。当您只运行 pnpm install
时,pnpm 会将所需的 Shrinkwrap 文件 ( project/shrinkwrap.yaml
) 与当前文件 ( project/node_modules/.shrinkwrap.yaml
) 进行比较。它们在您的情况下相等,因此不会触及 node_modules
。
使用 --force
时,将重新验证包并从商店重新链接。重新验证意味着检查其完整性。您从 jquery
中删除了一个文件,因此验证将失败,并且该包将重新解压到商店并重新链接到 node_modules
。
或者,您可以删除项目的 node_modules
并运行 pnpm install
。这也会在将 jquery
链接到商店之前检查它的完整性。
话虽如此,我认为 pnpm install jquery
也应该验证 jquery 的完整性。我们将在 pnpm 存储库中为此创建一个问题。
也许我们可以添加一些额外的命令来重新验证 node_modules
中的每个包并重新解包所有修改过的依赖项。
当前可用的相关命令是 pnpm store status ,它打印变异包的列表
关于pnpm - 如何从 pnpm 商店中删除软件包,或强制重新下载它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52594626/
我是一名优秀的程序员,十分优秀!