2024-12-25 10:00:02

NPM清洁模块

有没有办法让npm取消构建node_modules下的所有模块?像npm rebuild这样的东西会删除所有构建构件,但不重新构建它们?


当前回答

您可以删除node_module目录

rm -rf node_modules/

其他回答

我把这个添加到package.json中:

"build": "npm build",
"clean": "rm -rf node_modules", 
"reinstall": "npm run clean && npm install", 
"rebuild": "npm run clean && npm install && npm run build",

看起来效果不错。

NPM ci适用于这种情况,但只适用于你的包。Json和包锁。Json是同步的,如果你一直在处理其中一个以快速解决冲突,或者通过删除目录/符号链接来更新目录级别,那么情况可能并不总是如此。对这个问题的全面回答是这样的。

编辑包。Json与任何你想要的和删除你不需要的。 生成包锁。这样的Json, NPM install——package-lock-only 执行npm ci。这将删除所有工件,而不应该重新构建它们。

总之,没有。

二,还没有。

然而,npm install使用——no-build标志来执行不构建的安装有一个开放的问题,它可以用来做你要求的事情。

请看这个公开的问题。

这项工作实际上有专门的命令

npm ci

它将删除node_modules目录,并根据您的package-lock安装包。json文件

更多信息:https://docs.npmjs.com/cli/ci.html

我在package.json中添加了几行:

"scripts": {
  ...
  "clean": "rmdir /s /q node_modules",
  "reinstall": "npm run clean && npm install",
  "rebuild": "npm run clean && npm install && rmdir /s /q dist && npm run build --prod",
  ...
}

如果你只想清理,你可以使用这个rimraf node_modules。