即使版本号相同,我如何强制NPM重新安装单个软件包



在我的node.js项目中,我对另一个本地项目有一个依赖性。通常,我需要对依赖性进行一些小的改变,并了解它如何影响我的主要项目。为了做到这一点,我必须使用npm重新安装我的依赖。

我可以使用 npm update尝试更新我的依赖性,但这似乎只有在依赖项上更改版本号时才能起作用。每当我更改一两行代码以进行开发的实验更改时,我不想更改依赖性的版本号。

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

是否有一种方法强制NPM重新安装单个依赖关系,即使该依赖关系的版本号没有更改?

运行npm install时,它将安装任何缺失的依赖项,因此您可以将其与uninstall结合使用:

npm uninstall some_module; npm install

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

npm uninstall some_module; npm install some_module

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选项。

不是最好的答案,而是为了信息,您可以运行

npm ci

它与npm install相同,但是它将删除现有的node_modules文件夹(如果有),并为所有软件包进行全新安装。如果由于某种原因更改了node_modules中的文件,并且您想将其恢复到其原始状态。

最新更新