[英]How to uninstall NPM modules from the devDependencies in node.js?
[英]How can I uninstall npm modules in Node.js?
众所周知,任何 npm 模块都可以通过运行一个简单的命令来安装: npm install <module_name>
。
我已经安装了一些不再使用的模块,我只想将它们取下来。 我对此有几个问题:
我们是否有任何命令或过程可以从根目录卸载模块(例如npm uninstall <module_name>
)或者只是删除模块文件?
如果我们保留未使用的模块,它对我们有何影响?
该命令只是npm uninstall <name>
Node.js 文档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 uninstall -g <name> --save
也会全局删除它
如果它不适用于npm uninstall <module_name>
,请通过键入-g
全局尝试。
也许您只需要以超级用户/管理员身份执行sudo npm uninstall <module_name>
。
好吧,要完整回答这个问题,有两种方法(例如我们将安装的模块称为module1):
要在不更改 package.json 的情况下删除 module1:
npm uninstall module1
要通过更改 package.json 删除 module1,并将其从 package.json 中的依赖项中删除:
npm uninstall --save module1
注意:为了简化上述命令,您可以使用-S代替--save ,并且可以使用remove 、 rm 、 r 、 un 、 unlink代替卸载
我只是默认在我的主目录下安装stylus ,所以我只是使用npm uninstall stylus
来分离它,或者你可以尝试npm rm <package_name>
out。
要卸载 Node.js 模块:
npm uninstall <module_name>
这将从文件夹node_modules 中删除模块,但不会从文件package.json 中删除。 因此,当我们再次执行 npm install 时,它将下载模块。
因此,要从文件package.json 中删除模块,请使用:
npm uninstall <module_name> --save
这也会从文件package.json 中删除依赖项。
如果你想卸载任何全局模块,你可以使用:
npm -g uninstall <module_name> --save
这将全局删除依赖项。
要批量删除文件夹node_modules中的包,您还可以从文件package.json 中删除它们,保存它,然后在终端中运行npm prune
。
这将删除文件系统中存在但未在文件package.json 中使用/声明的那些包。
PS:这在 Windows 上特别有用,因为您可能经常遇到由于“超出路径长度限制”而无法删除某些文件的问题。
您还可以将以下内容作为速记运行:
npm un packageName
或npm rm packageName
注意:在命令末尾添加-g
以卸载全局包。
有时npm uninstall -g packageName
不起作用。
在这种情况下,您可以手动删除包。
在 Mac 上,转到文件夹/usr/local/lib/node_modules
并删除包含所需包的文件夹。 就是这样。 使用以下命令检查全局安装的软件包列表:
npm list -g --depth=0
我发现这一点很困难,即使它看起来很明显。
我最初尝试使用脚本中的简单 for 循环遍历运行npm uninstall module-name
的node_modules目录。 我发现如果你调用完整路径它不会工作,例如,
npm uninstall module-name
正在工作,但是
npm uninstall /full/path/to/node_modules/module-name
没有工作。
对于 Windows 用户 - 如果您想一次删除所有安装的 Node.js 模块:
cd node_modules
)它将卸载所有模块。
npm 5 的更新:
从npm 5.0.0 开始,默认情况下已安装/卸载的模块作为依赖项添加/删除,因此不再需要--save
选项。
跑步
npm uninstall <package>
例如:
npm uninstall mongodb
它将从node_modules文件夹和package.json文件中删除模块。
当我尝试使用与安装时使用的命令相同的命令时, uninstall
选项对我不起作用(因为我使用@latest
指令进行安装)
例如,我安装了一个这样的包:
npm install @ngtools/webpack@latest
然后我想卸载它,所以我使用了相同的命令(包括@latest):
npm uninstall @ngtools/webpack@latest
所以上面的卸载不起作用。 我必须删除@latest
,然后它运行良好:
npm uninstall @ngtools/webpack
要使用 npm 卸载模块,您可以使用:
npm uninstall moduleName
此外,如果您想卸载并希望更改反映在您的 package.json 中,那么您可以使用 --save 标志,如下所示:
npm uninstall moduleName --save
OR
npm uninstall -S
如果您想从 devDependencies 卸载模块并希望更改反映在 package.json 中,那么您可以使用 -D 标志,如下所示:
npm uninstall moduleName -D
# Log in 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
使用npm uninstall <packageName> --save
卸载软件包并删除package.json
的条目。
npm uninstall -g <packageName> --save
程序包名称npm uninstall -g <packageName> --save
将卸载该程序包(如果已全局添加)。
此外,如果您已经开始使用yarn
代替npm
:
yarn remove <package-name>
相当于:
npm uninstall <package-name> --save
这会
- 从package.json
删除package.json
,以及
- 从项目的node-modules
文件夹中卸载它
最简单的解决方案是:
npm uninstall packageName --save-dev
查看项目中的上层包名称:
npm list --depth=0
输出将类似于:
app@0.1.0 /home/jackkobec/projects/myAppName
├── packageName@packageVersion
├── express@4.16.4
复制包名并执行 npm uninstall 命令。 快递包裹示例:
npm uninstall express --save-dev
要卸载 Node.js 模块:
npm uninstall <module_name>
这将从文件夹node_modules 中删除模块,但不会从文件package.json 中删除。
使用以下命令从package.json使用中删除模块:
npm uninstall <module_name> --save
这也会从package.json 中删除它。
在npm v6+
npm uninstall <package_name>
删除它在文件夹node_modules和文件package.json 中。
如果要使用 npm 卸载特定的 package,可以使用以下命令:
辛税:
npm uninstall <package-name>
例子:
npm uninstall moment
简单地,
npm un module_name
或者
npm uninstall module_name
确保将其卸载到与 package.json 和 node_modules 文件夹相同的目录中。
卸载node module
的命令:
npm uninstall <module_name>
这将从本地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 <module_name> -g --save
全局删除模块。
具有所有选项的完整文档,请参阅npm卸载
如果您不需要在项目中使用包,则可以将其卸载并将其从项目的依赖项中删除。
对于卸载任何本地软件包,请使用以下命令:
npm uninstall <package_name>
对于卸载任何全局软件包,请使用以下命令:
npm uninstall -g <package_name>
要确认npm卸载已成功完成,请检查node_modules目录是否不再包含已卸载软件包的目录。
您可以通过以下方式卸载节点模块
卸载软件包
npm uninstall <Package Name>
卸载软件包并将其从package.json中的依赖项中删除
npm uninstall <Package Name> --save
卸载软件包并将其从package.json中的dev依赖项中删除
npm uninstall <Package Name> --save-dev
卸载全局软件包。 全局软件包可以在系统的任何地方访问,而不仅限于特定项目
npm uninstall -g <Package Name>
如果您使用的是 Windows,请以管理员身份运行 CMD 并键入:
npm -g uninstall <package name>
您可以手动删除 Node.js 模块。 对于 Windows,
转到存储库的node_modules
目录。
删除不需要的 Node.js 模块。
不要忘记删除package.json文件中对模块的引用! 您的项目可能仍会使用该引用运行,但您可能会收到错误消息。 您也不希望在package.json文件中留下未使用的引用,这可能会在以后引起混淆。
npm uninstall <package_name>
别名可用于卸载 node_modules 包
un
uninstall
别名
- npm un <PACKAGE_NAME>
- npm un <PACKAGE_NAME_1> <PACKAGE_NAME_2>
如果要卸载多个模块,只需运行npm uninstall
。
然后转到文件package.json并从那里删除不需要的模块,然后运行命令npm install
。 它应该可以解决您的问题。
用
npm uninstall <package_name>
卸载 express 的示例
npm uninstall express
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.