Ser*_*rov 304 package node.js npm
假设我安装项目包npm install
,查看package.json
要安装的模块.过了一会儿,我发现我不需要一些特定的模块并从中删除它的依赖性package.json
.然后我删除了一些其他模块,package.json
因为它们不再需要,而其他模块则替换为替代模块.
现在我想清理node_modules
文件夹,以便只有那些列出的模块package.json
留在那里,其余的必须去,就像这样npm clean
.我知道我可以手动删除它们但是希望有一些很好的准备使用糖功能.
Dav*_*ret 380
我想你在找 npm prune
npm prune [<name> [<name ...]]
此命令删除"无关"包.如果提供了包名称,则仅删除与提供的名称之一匹配的包.
无关的包是父包的依赖项列表中未列出的包.
请参阅文档:https://docs.npmjs.com/cli/prune
ada*_*ren 178
您可以删除node_modules /文件夹,然后从package.json重新安装依赖项.
rm -rf node_modules/
npm install
Run Code Online (Sandbox Code Playgroud)
这将擦除当前文件夹中的所有已安装的包,并仅从package.json安装依赖项.如果先前已安装依赖项,则npm将尝试使用缓存版本,从而避免第二次下载依赖项.
use*_*078 95
由于其文件夹嵌套,Windows无法删除该文件夹,因为其名称太长.要解决此问题,请安装RimRaf:
npm install rimraf -g
rimraf node_modules
Run Code Online (Sandbox Code Playgroud)
Aja*_*ala 24
简单的运行
rm -r node_modules
Run Code Online (Sandbox Code Playgroud)
事实上,您可以删除任何文件夹.
比如rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete.
只需打开gitbash移动到文件夹的根目录并运行此命令
希望这会有所帮助.
Ank*_*mar 21
首先全球安装rimraf
npm install rimraf -g
Run Code Online (Sandbox Code Playgroud)
使用cmd在path_modules文件夹中转到路径,并在下面的命令中应用
rimraf node_modules
Run Code Online (Sandbox Code Playgroud)
rob*_*ovg 14
我发现的关于它的最好的文章是这篇:https://trilon.io/blog/how-to-delete-all-nodemodules-recursively
全部来自控制台,并且可以从任何文件夹点轻松执行。
但作为本文的总结,此命令用于查找node_module
不同项目中找到的每个文件夹的大小。
find . -name "node_modules" -type d -prune -print | xargs du -chs
Run Code Online (Sandbox Code Playgroud)
并实际删除它们:
find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;
Run Code Online (Sandbox Code Playgroud)
本文还包含有关 Windows shell 的说明。
小智 7
我在 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",
...
}
Run Code Online (Sandbox Code Playgroud)
如果您只想clean
使用此rimraf node_modules
或rm -rf node_modules
.
效果很好
小智 7
以防万一有人需要它,这是我最近为解决这个问题所做的一些事情:
npm ci - 如果您想清理所有内容并从头开始安装所有软件包:
-它执行全新安装:如果 node_modules 文件夹存在,npm 将删除它并安装一个新的。
-检查一致性:如果 package-lock.json 不存在或者它与 package.json 的内容不匹配,npm 会因错误而停止。
https://docs.npmjs.com/cli/v6/commands/npm-ci
npm-dedupe - 如果要清理当前 node_modules 目录而不删除并重新安装所有软件包
搜索本地包树并尝试通过将依赖关系进一步向上移动树来简化整体结构,在那里它们可以被多个依赖包更有效地共享。
https://docs.npmjs.com/cli/v6/commands/npm-dedupe
小智 7
您还可以将npx与rimraf结合使用,通过一个命令删除所有节点模块,因此您不必先安装 rimraf。
因此,使用 cmd 转到 node_modules 文件夹所在的路径(如果您还不存在)并运行以下命令
npx rimraf node_modules
Run Code Online (Sandbox Code Playgroud)
小智 5
从6.5.0版本开始npm支持命令clean-install
来强制刷新所有软件包
小智 5
我最近将 Angular 从 14 升级到 15,发现我需要这样做:
npm cache clean --force
npm cache verify
rm -rf node_modules/
npm install
Run Code Online (Sandbox Code Playgroud)
如果我不进行缓存清理,安装将在本地成功,但在服务器上运行部署时会失败。这是因为本地安装将使用本地缓存的包来安装。意识到。:)
归档时间: |
|
查看次数: |
379311 次 |
最近记录: |