即使版本号相同,如何强制npm重新安装单个包?

时间:2016-12-13 22:53:58

标签: npm

在我的Node.js项目中,我依赖于另一个本地项目。通常情况下,我需要对依赖项进行一些小改动,看看它如何影响我的主项目。为此,我必须使用npm重新安装我的依赖项。

我可以使用npm update来尝试更新我的依赖项,但这似乎只有在依赖项上更改了版本号时才会起作用。我不想每次更改一行代码时都要更改依赖项的版本号,以便在开发过程中进行实验性更改。

我可以rm -rf node_modules/; npm install确保获得所有依赖项的最新版本。下载所有非本地依赖项需要几分钟时间,这打破了我的思路。

有没有办法强制npm重新安装单个依赖项,即使该依赖项的版本号没有更改?

3 个答案:

答案 0 :(得分:5)

当您运行npm install时,它会安装任何缺少的依赖项,因此您可以将其与uninstall结合使用,如下所示:

npm uninstall some_module; npm install

使用npm 5,已从package.json中删除已卸载的模块,因此您应该使用:

npm uninstall some_module; npm install some_module

答案 1 :(得分:1)

不是最佳答案,仅供参考,您可以运行

npm ci

它与 npm install 相同,但它会删除现有的 node_modules 文件夹(如果有),并对所有软件包进行全新安装。如果 node_modules 中的文件因某种原因已更改并且您希望将它们恢复到原始状态,这将非常有用。

答案 2 :(得分:0)

在npm v 6.14上:

npm install module_name --force --no-save

您收到一条消息,指出:

npm WARN using --force I sure hope you know what you are doing.

然后继续卸载并重新安装软件包。

注意:如果您未指定--no-save选项,则npm将package.json上的软件包版本更新为与现有SemVer规则兼容的最高版本。
如果您不希望npm在package.json上更新软件包的版本,请保留--no-save选项。