gpt4 book ai didi

pnpm - 如何从 pnpm 商店中删除软件包,或强制重新下载它?

转载 作者:行者123 更新时间:2023-12-03 19:32:55 63 4
gpt4 key购买 nike

我使用 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/

63 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com