Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何从package.json中列出的节点_模块中删除所有包_Node.js_Npm - Fatal编程技术网

Node.js 如何从package.json中列出的节点_模块中删除所有包

Node.js 如何从package.json中列出的节点_模块中删除所有包,node.js,npm,Node.js,Npm,基本上,我在寻找npm prune左右问题的“反面” 更具体地说: 我希望从我的根package.json文件中列出的所有包中清理node\u modules文件夹。在npm安装之前有一个新的开始 我不想简单地rm-rf node_modules/是因为我有一些本地模块,我不想被删除。不可能一次删除包中的所有模块。json您可以编写shell脚本进行循环。或者,您可以检查npm ls,然后手动删除npm rm或npm卸载每个。要在package.json中同时更新它,请将永久(本地)模块保存在更

基本上,我在寻找
npm prune
左右问题的“反面”

更具体地说:

我希望从我的根
package.json
文件中列出的所有包中清理
node\u modules
文件夹。在npm安装之前有一个新的开始


我不想简单地
rm-rf node_modules/
是因为我有一些本地模块,我不想被删除。

不可能一次删除包中的所有模块。json您可以编写shell脚本进行循环。或者,您可以检查
npm ls
,然后手动删除
npm rm
或npm卸载每个。要在package.json中同时更新它,请将永久(本地)模块保存在更高级别的目录中:

-node_modules (local)
-my_project
|-node_modules (npm)

这样,当您擦除node_modules目录时,外部本地模块将保留。

正如其他人所指出的,没有本机npm命令来执行此操作

我已获取并修改了命令:

$ npm ls | grep -v 'npm@' | awk '/@/ {print $2}' | awk -F@ '{print $1}' | xargs npm rm
这将列出所有本地软件包,然后逐个列出它们

为方便起见,如果需要,可以将以下行添加到
包.json

"scripts": {
    "uninstall": "npm ls | grep -v 'npm@' | awk '/@/ {print $2}' | awk -F@ '{print $1}' | xargs npm rm"
}
然后跑

$ npm run uninstall

如果您只是想在重新安装之前进行清理,那么您可能不需要
--save
。是的,没错,但如果您只是想删除一些,那么我提到:)