众所周知,任何npm模块都可以通过运行一个简单的命令来安装:npm install <module_name>
。
我已经安装了一些我不再使用的模块,我只是想让它们关闭。我对此有几个问题:
我们是否有任何命令或进程从根目录卸载模块(类似npm uninstall <module_name>
)
或者只是删除模块文件吗?
如果我们保留未使用的模块,它对我们有何影响?
答案 0 :(得分:1117)
该命令只是npm uninstall <name>
nodejs文档https://npmjs.org/doc/包含您需要知道的所有命令。
本地安装将位于应用程序的node_modules/
目录中。如果模块保留在那里而没有引用它,这将不会影响应用程序。
但是,如果要移除全局程序包,则引用它的任何应用程序都将崩溃。
以下是不同的选择:
npm uninstall <name>
从node_modules
移除模块,但不移除package.json
npm uninstall <name> --save
也会将其从dependencies
package.json
移除
npm uninstall <name> --save-dev
也会将其从devDependencies
package.json
移除
npm -g uninstall <name> --save
也会全局删除
答案 1 :(得分:69)
如果它不适用于npm uninstall <module_name>
,请输入-g
全局尝试。
也许您只需要以sudo npm uninstall <module_name>
作为超级用户/管理员进行操作。
答案 2 :(得分:40)
为了给出这个问题的完整答案,有two methods: (例如,我们将已安装的模块称为module1)
要删除module1 而不更改package.json:
npm uninstall module1
要删除module1 并使用更改package.json,并将其从package.json中的依赖项中删除:
npm uninstall --save module1
注意:要简化上述命令,您可以使用 -S 代替 - 保存,并可以使用删除,< strong> rm , r ,联合,取消关联,而不是卸载
答案 3 :(得分:18)
我只是默认在我的家庭目录下安装手写笔,所以我只是使用npm uninstall stylus
来分离它,或者你可以尝试npm rm <package_name>
。
答案 4 :(得分:14)
卸载节点模块:
npm uninstall <module_name>
这将从node_modules中删除模块,但不从package.json中删除。因此,当我们再次进行npm安装时,它将下载模块。
所以要从package.json中删除模块,请使用:
npm uninstall <module_name> --save
这也会从package.json中删除依赖项。
如果您要卸载任何全局模块,可以使用:
npm -g uninstall <module_name> --save
这将全局删除依赖项。
答案 5 :(得分:5)
我发现这很难,即使它看起来很明显
。我最初尝试在脚本中使用简单的for循环遍历运行npm uninstall module-name
的node_modules目录。我发现如果你打电话给完整路径它将无法工作,例如
npm uninstall module-name
正在运作,但
npm uninstall /full/path/to/node_modules/module-name
没有用。
答案 6 :(得分:3)
对于Windows用户 - 如果要删除一次安装的所有节点模块:
它将卸载所有模块。
答案 7 :(得分:2)
要批量删除node_modules/
中的包,您也可以将其从package.json
中删除,保存,然后在终端上运行npm prune
。
这将删除存在于文件系统中但未使用/声明package.json
的那些包。
P.S&GT;这在Windows上特别有用,因为由于超过路径长度限制而无法删除某些文件时可能会遇到问题&#34;
答案 8 :(得分:2)
您可以通过以下方式卸载节点模块
卸载程序包
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>
答案 9 :(得分:1)
有时npm uninstall -g packageName
无效。
在这种情况下,您可以手动删除软件包。
在Mac上,转到文件夹/usr/local/lib/node_modules
,然后删除包含所需软件包的文件夹。而已。使用此命令npm list -g --depth=0
答案 10 :(得分:1)
在 npm v6+
中,npm uninstall <package_name>
在文件夹 node_modules 和文件 package.json 中将其删除。
答案 11 :(得分:1)
要卸载节点模块:
npm uninstall <module_name>
这将从node_modules中删除该模块,但不会从package.json中删除该模块。
使用以下命令从package.json中删除该模块:
npm uninstall <module_name> --save
这也会从package.json中删除。
答案 12 :(得分:1)
要使用npm卸载模块,可以使用:
// Make orders link highlighted by default in my account section.
add_action('wp_footer', 'taisho_dashboard_orders_highlight');
function taisho_dashboard_orders_highlight() {
if (!is_account_page()) return; // Account section only
global $wp;
$acc_url = get_permalink( get_option( 'woocommerce_myaccount_page_id' ));
$my_acc = rtrim( $acc_url , '/' );
$my_acc = explode( '/', $my_acc );
?>
<script type="text/javascript">
var dashboard_active = <?php echo $wp->request === end($my_acc) ?>;
jQuery(document).ready(function($) {
$('.woocommerce-MyAccount-navigation-link--orders').toggleClass('is-active', dashboard_active);
});
</script>
<?php
}
此外,如果您要卸载并将更改反映在package.json中,则可以使用--save标志,如下所示:
npm uninstall moduleName
如果您要从devDependencies卸载模块并希望将更改反映在package.json中,则可以使用-D标志,如下所示:
npm uninstall moduleName --save
OR
npm uninstall -S
答案 13 :(得分:1)
当我尝试使用与安装时所用的命令相同的命令时,uninstall
选项对我不起作用(就像我使用@latest
指令安装时一样)
例如,我安装了这样的软件包:
npm install @ngtools/webpack@latest
然后我想卸载它,所以我使用了相同的命令(包括@latest)
npm uninstall @ngtools/webpack@latest
因此上述卸载无效,我必须删除@latest
,然后它才能正常工作
npm uninstall @ngtools/webpack
我希望这对您有帮助
答案 14 :(得分:1)
使用npm uninstall <packageName> --save
卸载程序包并将其删除package.json
中的条目。
npm uninstall -g <packageName> --save
将在全局添加包时卸载该包。
答案 15 :(得分:1)
# 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
答案 16 :(得分:0)
此外,如果您已开始使用yarn
,则代替npm
:
yarn remove <package-name>
相当于:
npm uninstall <package-name> --save
这将是
- 从package.json
以及中删除包裹
- 从项目的node-modules
文件夹
答案 17 :(得分:0)
使用
npm uninstall <package_name>
卸载Express的示例
npm uninstall express
答案 18 :(得分:0)
如果您不需要在项目中使用软件包,则可以将其卸载并将其从项目的依赖项中删除。
要卸载任何本地软件包,请使用以下命令:
npm uninstall <package_name>
要卸载任何全局软件包,请使用以下命令:
npm uninstall -g <package_name>
要确认npm卸载已成功完成,请检查node_modules目录是否不再包含已卸载软件包的目录。
答案 19 :(得分:0)
最简单的解决方案是:
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
答案 20 :(得分:0)
更新npm 5:
从npm 5.0.0开始,默认情况下已将已安装/未安装的模块作为依赖项添加/删除,因此不再需要--save选项。
运行
npm uninstall <package>
例如:
npm uninstall mongodb
它将同时从node_modules文件夹和package.json文件中删除该模块
答案 21 :(得分:0)
您还可以将以下内容用作速记:
npm un packageName
或npm rm packageName
注意:在命令末尾添加-g
以卸载全局软件包。
答案 22 :(得分:0)
如果您是Windows,则以管理员身份运行CMD并输入npm -g uninstall <package name>
。
答案 23 :(得分:0)
卸载node module
的命令:
npm uninstall <module_name>
这将从您当地的node-module
目录中卸载模块,这不会影响应用程序。
但是,如果您要引用全局范围或想要更改package.json
这里有一些不同的选项
npm uninstall <module_name> --save
从dependencies
中的package.json
删除模块。
npm uninstall <module_name> --save-dev
从devDependencies
中的package.json
删除模块。
npm uninstall <module_name> -g --save
全局删除模块。
包含所有选项的完整文档,请参阅npm uninstall
答案 24 :(得分:0)
您可以手动删除节点模块。对于Windows,
转到存储库的node_modules
目录。
删除不需要的节点模块。
别忘了在package.json
中删除对模块的引用!您的项目可能仍与参考一起运行,但是可能会出现错误。您也不想在package.json
中留下未使用的引用,这些引用以后会引起混淆。
答案 25 :(得分:0)
npm uninstall <package_name>
答案 26 :(得分:0)
别名可用于卸载 node_modules 包
un
uninstall
的别名
- npm un <PACKAGE_NAME>
- npm un <PACKAGE_NAME_1> <PACKAGE_NAME_2>
答案 27 :(得分:-4)
如果要卸载多个模块,只需运行npm uninstall
即可。然后转到package.json
并从那里删除不需要的模块,然后运行命令npm install
。它应该解决你的问题。