在我的Node.js项目中,我依赖于另一个本地项目。通常情况下,我需要对依赖项进行一些小改动,看看它如何影响我的主项目。为此,我必须使用npm
重新安装我的依赖项。
我可以使用npm update
来尝试更新我的依赖项,但这似乎只有在依赖项上更改了版本号时才会起作用。我不想每次更改一行代码时都要更改依赖项的版本号,以便在开发过程中进行实验性更改。
我可以rm -rf node_modules/; npm install
确保获得所有依赖项的最新版本。下载所有非本地依赖项需要几分钟时间,这打破了我的思路。
有没有办法强制npm重新安装单个依赖项,即使该依赖项的版本号没有更改?
答案 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
选项。