# login as root (might be required depending on install)
su -
# list all global packages
npm ls -g --depth=0
# list all local (project) packages
npm ls -p --depth=0
# remove all global packages
npm ls -g --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
# remove all local packges
npm ls -p --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -p rm
# NOTE (optional): to use node with sudo you can add the bins to /usr/bin
# NOTE $PATHTONODEINSTALL is where node is installed (e.g. /usr/local/node)
sudo ln -s $PATHTONODEINSTALL/bin/node /usr/bin/node
sudo ln -s $PATHTONODEINSTALL/bin/npm /usr/bin/npm
15 回答
该命令只是
npm uninstall <name>
nodejs文档https://npmjs.org/doc/具有使用npm需要知道的所有命令 .
本地安装将位于应用程序的
node_modules/
目录中 . 如果模块保留在那里而没有引用它,这将不会影响应用程序 .但是,如果要删除全局程序包,则引用它的任何应用程序都将崩溃 .
这里有不同的选择:
npm uninstall <name>
从node_modules
删除模块,但不是package.json
npm uninstall <name> --save
也将其从package.json
中的dependencies
中删除npm uninstall <name> --save-dev
也会在package.json
中将其从devDependencies
中删除npm -g uninstall <name> --save
也会全局删除它我只是在我的家庭目录下默认安装手写笔,所以我只是使用
npm uninstall stylus
来分离它,或者你可以试试npm rm <package_name>
.那么为了给出这个问题的完整答案,有two methods :(例如我们将已安装的模块称为module1)
npm uninstall module1
npm uninstall --save module1
注意:为简化上述命令,可以使用 -S 而不是 --save ,并且可以使用 remove , rm , r , un , unlink 而不是 uninstall
如果要卸载多个模块,只需运行
npm uninstall
即可 . 然后转到package.json
并从那里删除不需要的模块,然后运行命令npm install
. 它应该解决你的问题 .我发现这很困难,即使看起来很明显 .
我最初尝试在脚本中使用简单的for循环遍历运行
npm uninstall module-name
的node_modules目录 . 我发现如果你打电话给完整的路径它将无法工作,例如工作,但是
没用 .
使用
npm uninstall <packageName> --save
卸载包并删除package.json
中的条目 .如果包全局添加,
npm uninstall -g <packageName> --save
将卸载该包 .对于Windows用户 - 如果要删除一次安装的所有节点模块:
打开powershell
进入node_modules文件夹(cd node_modules)
运行此命令 - "npm uninstall (Get-ChildItem).Name"
它将卸载所有模块 .
卸载
node module
的命令:这将从本地
node-module
目录中卸载模块,这不会影响应用程序 .但是,如果您要引用全局范围或想要更改
package.json
中的依赖项这里有一些不同的选择
npm uninstall <module_name> --save
从package.json
中的dependencies
删除模块 .npm uninstall <module_name> --save-dev
从package.json
中的devDependencies
删除模块 .npm uninstall <module_name> -g --save
全局删除模块 .包含所有选项的完整文档,请参阅npm uninstall
要批量删除
node_modules/
中的包,您也可以从package.json
中删除它们,保存它,然后在终端上运行npm prune
.这将删除存在于文件系统中但未使用/声明
package.json
的那些包 .P.S>这在Windows上特别有用,因为由于“超出路径长度限制”而无法删除某些文件时可能会遇到问题 .
有时
npm uninstall -g packageName
不起作用 .在这种情况下,您可以手动删除包 .
在Mac上转到文件夹
/usr/local/lib/node_modules
并删除包含所需包的文件夹 . 而已 . 使用此命令检查全局安装的软件包列表npm list -g --depth=0
此外,如果您已开始使用
yarn
,而不是npm
:yarn remove <package-name>
相当于:
npm uninstall <package-name> --save
这将
package.json
删除包,以及node-modules
文件夹中卸载它当我尝试使用与安装时使用的命令相同的命令时,
uninstall
选项对我不起作用(因为我使用@latest
指令安装)例如,我安装了这样的包:
然后我想卸载它,所以我使用相同的命令(包括@latest)
所以上面的卸载没有用,我必须删除
@latest
然后它运行良好我希望这有帮助
如果它不适用于
npm uninstall <module_name>
,请输入-g
全局尝试 .也许您只需要以
sudo npm uninstall <module_name>
作为超级用户/管理员来做 .要卸载节点模块:
这将从node_modules中删除模块,但不从package.json中删除 . 因此,当我们再次进行npm安装时,它将下载该模块 .
所以要从package.json中删除模块使用:
这也删除了package.json的依赖项 .
如果要卸载任何全局模块您可以使用:
这将全局删除依赖项 .