如何卸载节点js中的npm模块?
众所周知,任何npm模块都可以通过运行一个简单的命令来安装: npm install <module_name>
。
我已经安装了一些我不再使用的模块,我只是想把它们closures。 我有几个关于这个问题的问题:
-
我们是否有任何命令或进程从根目录卸载模块(类似于
npm uninstall <module_name>
)或者只是删除模块文件吗? -
如果我们保留未使用的模块,它会如何影响我们?
该命令只是npm uninstall <name>
nodejs文档https://npmjs.org/doc/拥有你需要用npm知道的所有命令。;
本地安装将位于应用程序的node_modules/
目录中。 这不会影响应用程序,如果一个模块留在那里没有任何引用。
但是,如果要删除全局程序包,则引用它的任何应用程序都将崩溃。
这里有不同的select:
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 <module_name>
则可以通过键入-g
来全局尝试。
也许你只需要使用sudo npm uninstall <module_name>
作为superuser / administrator来完成。
那么给这个问题一个完整的答案,有两种方法 :(例如,我们把安装的模块称为module1)
-
在不更改package.json的情况下删除module1:
npm uninstall module1
-
要通过更改package.json来移除module1,并将其从package.json中的依赖项中移除:
npm uninstall --save module1
注意:为了简化上面提到的命令,可以使用-S而不是–save ,并且可以使用remove , rm , r , un , unlink而不是卸载
我只是在我的家目录安装手写笔 ,所以我只是用npm uninstall stylus
分离它,或者你可以尝试npm rm <package_name>
出来。
卸载节点模块:
npm uninstall <module_name>
这将从node_modules中删除模块,但不会从package.json中删除。 所以当我们再次安装npm时,它会下载模块。
所以要从package.json中删除模块使用:
npm uninstall <module_name> --save
这也从package.json中删除依赖。
如果你想卸载任何全局模块,你可以使用:
npm -g uninstall <module_name> --save
这将全局删除依赖关系。
即使这看起来很明显,我也是很难find的。
我最初试图循环运行npm uninstall module-name
的node_modules目录,并在脚本中使用简单的for循环。 我发现如果你调用完整的path,它将不起作用,例如
npm uninstall module-name
正在工作,但是
npm uninstall /full/path/to/node_modules/module-name
不工作。
对于Windows用户 – 如果要删除所有一次安装的节点模块:
- 打开PowerShell
- 进入node_modules文件夹(cd node_modules)
- 运行这个命令 – “npm uninstall(Get-ChildItem).Name”
它会卸载所有的模块。
# 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 (eg /usr/local/node) sudo ln -s $PATHTONODEINSTALL/bin/node /usr/bin/node sudo ln -s $PATHTONODEINSTALL/bin/npm /usr/bin/npm
卸载node module
的命令:
npm uninstall <module_name>
这将从本地node-module
目录中卸载模块,这不会影响应用程序。
但是如果你引用了全局作用域或者想改变package.json
依赖关系
这里有一些不同的select
npm uninstall <module_name> --save
从package.json
dependencies
中删除模块。
npm uninstall <module_name> --save-dev
从package.json
devDependencies
中移除模块。
npm uninstall <module_name> -g --save
全局删除模块。
完整的文档与所有选项,请参阅npm卸载
要删除node_modules/
中的包,你也可以将它们从package.json
删除,保存,然后在terminal上运行npm prune
。
这将删除文件系统中存在的那些包,但不会使用/声明package.json
。
PS>这在Windows上特别有用,因为由于“超出path长度限制”而无法删除某些文件,所以经常会遇到问题。
答案是伟大的,但没有一个我正在寻找,所以我把另一个答案在这里谁正在寻找简短版本的uninstall
命令。
npm uninstall <package-name> [-S|--save|-D|--save-dev]
几乎所有的答案都提到了这个版本
但另一种select是:
-
npm r <package-name> [-S|--save|-D|--save-dev]
-
npm rm <package-name> [-S|--save|-D|--save-dev]
-
npm remove <package-name> [-S|--save|-D|--save-dev]
- …
有关更多选项,请前往npm-uninstall(删除软件包)
npm卸载 – 保存也从package.json中删除条目npm uninstall -g –save如果Package是全局安装的
npm卸载模块的名称即例如npm uninstall express,npm uninstall express –save remove在package.json中的依赖关系
- 如何清理不在package.json中的包的node_modules文件夹?
- MongoDBprimefaces的“findOrCreate”:findOne,如果不存在则插入,但不更新
- npm WARN安装拒绝安装hapi作为自己的依赖
- 如何安装node.js作为Windows服务?
- 使用React Native和API后端进行身份validation
- nodejs mysql错误:连接丢失服务器closures了连接
- 如何在每个循环内“继续”:下划线,node.js
- 在调用asynchronous函数的摩卡testing中如何避免超时错误:超过2000ms的超时
- 如何将使用Gulp的节点部署到heroku