qod*_*nja 101 uninstall node.js npm
如果我在我的应用程序根目录中定义了一个package.json文件并运行npm install -g它将安装package.json,globablly中定义的所有依赖项.
但是,这似乎并没有反过来.
如果我npm uninstall -g在我的应用程序根目录中,它会抛出一个错误,并告诉我将包名称传递给它.
这不应该卸载我安装的相同软件包吗?
难道我做错了什么?
jed*_*mao 158
如果使用Bash,只需切换到包含package.json文件的文件夹并运行以下命令:
for package in `ls node_modules`; do npm uninstall $package; done;
Run Code Online (Sandbox Code Playgroud)
对于全局安装的软件包,请切换到您的%appdata%/npm文件夹(如果在Windows上)并运行相同的命令.
编辑:此命令打破npm 3.3.6(节点5.0).我现在使用以下Bash命令,我已将其映射到我的.bashrc文件中的npm_uninstall_all:
npm uninstall `ls -1 node_modules | tr '/\n' ' '`
Run Code Online (Sandbox Code Playgroud)
加奖金?它的速度更快!
https://github.com/npm/npm/issues/10187
小智 67
这对我有用:
命令提示符或gitbash到项目的node_modules文件夹然后执行:
npm uninstall *
Run Code Online (Sandbox Code Playgroud)
删除了该项目的所有本地包.
Sam*_*eer 34
对于windows,请转到node_modules目录并在powershell中运行它
npm uninstall (Get-ChildItem).Name
Run Code Online (Sandbox Code Playgroud)
cha*_*alo 22
我最近发现了一个node命令,它允许卸载所有开发依赖项,如下所示:
npm prune --production
Run Code Online (Sandbox Code Playgroud)
正如我所提到的,此命令仅卸载开发依赖包.至少它帮助我不必手动完成.
Har*_*dar 10
另一个简单的选项是删除 node_modules 和 package-lock.json
rm -rf node_modules
rm -rf package-lock.json
Run Code Online (Sandbox Code Playgroud)
之后您可以尝试重新安装 npm 软件包
Windows用户提示:从node_modules父目录中运行此PowerShell命令:
ls .\node_modules | % {npm uninstall $_}
Run Code Online (Sandbox Code Playgroud)
// forcibly remove and reinstall all package dependencies
ren package.json package.json-bak
echo {} > package.json
npm prune
del package.json
ren package.json-bak package.json
npm i
Run Code Online (Sandbox Code Playgroud)
这实质上创建了一个虚假的空 package.json,调用npm prune删除 node_modules 中的所有内容,恢复原始 package.json 并重新安装所有内容。
其他一些解决方案可能更优雅,但我怀疑这是更快和详尽的。在其他线程上,我看到人们建议只删除 node_modules 目录,但至少对于 Windows,这会导致 npm 之后窒息,因为 bin 目录丢失。也许在 linux 上它可以正确恢复,但不是 Windows。
其实没有选择这样做,如果你想卸载包从package.json简单地做npm ls对同一个目录package.json依赖和使用npm uninstall <name>或npm rm <name>用于包要删除.
| 归档时间: |
|
| 查看次数: |
121679 次 |
| 最近记录: |