android - 从项目中删除cordova插件

不知何故,在我的应用程序中安装了许多cordova插件,因此需要访问几乎所有内容 - 从我的联系人到当前位置(即使这个应用程序不需要这个)。

这个应用程序是通过jenkins构建的,据我所知,一个解决方案是使用单个命令删除每个插件,所以它将像:

cordova plugin rm org.apache.cordova.battery-status

cordova plugin rm org.apache.cordova.camera

cordova plugin rm org.apache.cordova.contacts

cordova plugin rm org.apache.cordova.geolocation

cordova plugin rm org.apache.cordova.media

cordova plugin rm org.apache.cordova.media-capture

cordova plugin rm org.apache.cordova.splashscreen

cordova plugin rm org.apache.cordova.vibration

但有时它会显示一些错误,并且对于jenkins,任何错误都会导致构建失败,那么有没有删除所有插件的命令? (在安装基础知识插件中需要任何应用程序才能通过cordova自动添加,所以我一直在寻找一些cordova plugin rm -all但无法找到它)

mmmm asked 2019-08-25T21:46:08Z

12个解决方案

209 votes

首先,你应该列出你的插件:

cordova plugin list

有了这个结果,你可以简单地做:

cordova plugin remove

例如:

cordova plugin remove org.apache.cordova.media

希望能帮助到你。

ruhanbidart answered 2019-08-25T21:46:29Z

14 votes

您也可以使用bash(切换到Cordova项目目录后):

for i in `cordova plugin ls | grep '^[^ ]*' -o`; do cordova plugin rm $i; done

JVE999 answered 2019-08-25T21:46:53Z

9 votes

从终端(osx)我经常使用

cordova plugin -l | xargs cordova plugins rm

管道,管道应有尽有!

要扩展一下:此命令将循环遍历cordova plugin -l的结果并将其提供给cordova plugins rm。

xargs是你想知道为什么以前你不知道的那些命令之一。 看到这个啧啧。

kuzyn answered 2019-08-25T21:47:39Z

9 votes

你可以使用:cordova plugins list

并使用cordova plugins list验证是否已删除所有插件。

Hamid answered 2019-08-25T21:48:11Z

8 votes

使用cordova-check-plugin v2.0.0可以删除项目中的所有插件:

$ npm install -g cordova-check-plugins

$ cordova-check-plugins --remove-all

它将尝试使用Cordova CLI删除每个插件,但如果失败,它将强制从platforms/和plugins/删除插件。

如果您还想从config.xml中删除,请使用:

$ cordova-check-plugins --remove-all --save

免责声明:我是cordova-check-plugins的作者

DaveAlden answered 2019-08-25T21:48:58Z

4 votes

我用这个python one-liner做到了:

python -c "import subprocess as sp;[sp.call('cordova plugin rm ' + p.split()[0], shell=True) for p in sp.check_output('cordova plugin', shell=True).split('\n') if p]"

显然它没有处理任何类型的错误条件,但它完成了工作。

Matthew Purdon answered 2019-08-25T21:49:30Z

1 votes

据我记得Cordova,你应该在" res" 包含项目中使用的插件列表的文件夹。 您可能需要从列表中删除这些未使用的插件。 此外,您应该删除相关文件。

osayilgan answered 2019-08-25T21:49:56Z

1 votes

这是删除Cordova中插件的命令行

cordova help

例如我运行了cordova help 并获得了插件列表然后我使用了插件的id来卸载

cordova help

您可以通过键入命令行获得帮助

cordova help

Jack Shultz answered 2019-08-25T21:50:47Z

1 votes

基于处理已安装插件列表的脚本可能无法正常工作,因为已安装的插件之间存在依赖关系(例如,cordova-plugin-file和cordova-plugin-file-transfer)。

在该示例中,脚本将首先找到文件插件,然后它将尝试删除它,并且我们将收到错误,因为文件传输需要它。 因此,我们将拥有

Nacho Marín answered 2019-08-25T21:51:20Z

0 votes

运行命令时:cordova plugin remove ,请确保不要将版本号添加到插件名称。 只是简单的插件名称,例如:

cordova plugin remove cordova.plugin_name

并不是:

cordova plugin remove cordova.plugin_name 0.01

要么

cordova plugin remove "cordova.plugin_name 0.01"

如果存在权限问题,如果您使用的是* nix系统,请使用sudo运行,例如:

sudo cordova plugin remove cordova.plugin_name

然后你可以添加--save来从config.xml文件中删除它。 例如:

cordova plugin remove cordova.plugin_name --save

franc answered 2019-08-25T21:52:03Z

0 votes

访问该文件夹

列出插件(cordova插件列表)

离子cordova插件删除" pluginName"

应该没事!

Mekkush answered 2019-08-25T21:52:50Z

0 votes

如果上述解决方案无效并且您有任何未处理的承诺拒绝,请尝试按照以下步骤操作:

清洁Cordova项目

科尔多瓦清洁

删除平台

cordova平台删除android / ios

然后删除插件

cordova插件删除

添加平台并运行项目它对我有用。

rahul.sapkal23 answered 2019-08-25T21:54:04Z