プロジェクトからCordovaプラグインを削除する


103

どういうわけか私のアプリでは、cordovaプラグインの多くがインストールされているため、連絡先から現在の場所まで、ほとんどすべてへのアクセスが必要です(このアプリはこれを必要としませんが)。

このアプリはジェンキンス経由でビルドされており、私が理解している限り、1つのコマンドですべてのプラグインを削除することです。したがって、次のようになります。

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

しかし、時々それはいくつかのエラーを示し、ジェンキンスではすべてのエラーがビルド失敗で終わるので、すべてのプラグインを削除するコマンドはありますか?(インストール中に、アプリの動作を必要とする基本的なプラグインがCordovaを介して自動的に追加されるため、探していましcordova plugin rm -allたが見つかりませんでした)


1
Yは、cordovapluginリストを呼び出し、返された各行に対してcordovaプラグインrmを実行するシェルスクリプトの作成を推奨します
QuickFix

私はmakefileを介してそのようなことしかできません。また、私はunixコマンドラインではそれほど良くありません。
mmmm 2014

コードバプロジェクトにリクエストを入力して、すべてのプラグインを削除するコマンドを追加するよう依頼することができます...
QuickFix

ええ、よく私は...彼らはちょうど私のために新しいコマンドを追加まで待つために多くの時間をすることをしないでください
MMMM

回答:


246

まず、プラグインをリストする必要があります:

cordova plugin list

この結果により、次のことが簡単に行えます。

cordova plugin remove <PLUGIN_NAME>

例えば:

cordova plugin remove org.apache.cordova.media

それが役に立てば幸い。


何らかの理由で、私のVS2013プロジェクトには何もリストされておらず、削除も機能しません。古いファッションのconfig.xml編集とプラグインフォルダーの削除に移行しました...
Anthony Horne '22

8
男は一度にすべてを削除するコマンドを求めました。これは、一度に1つだけ削除する簡単な文書化された回答です。
Imon、2016年

8
cordova plugin remove <PLUGIN_NAME> --saveconfig.xmlから自動的に削除されるようにする方が良い
kamayd

19

(Cordovaプロジェクトディレクトリに切り替えた後)bashでも同じことができます。

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

テストしましたか?
Hamid Araghi

11

あなたは使うことができます: cordova plugins list | awk '{print $1}' | xargs cordova plugins rm

cordova plugins listプラグインがすべて削除されているかどうかを確認するために使用します。


うまくいきませんでした。次のエラーを取得しますError: Plugin "{}" is not present in the project. See `cordova plugin list`
。– tfmontague

1
@tfmontagueは手動で実行してcordova plugins ls、を使用してプラグインを1つずつ削除できるかどうかを確認しますcordova plugins rm plugin_name。エラーから、プラグインの1つがプロジェクトに物理的に存在しないようです。この方法を使用すると、そのプラグインを見つけることができます。
Hamid Tavakoli

10

cordova -check-pluginsv2.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 --remove-all --saveすべてのプラグインを削除しています...-致命的なエラー:インストールされているプラ​​グインを一覧表示するときにローカル/グローバルCordovaまたはグローバルphonegap CLIコマンドが見つかりません-Cordova npmモジュールがローカルにインストールされていることを確認してくださいプロジェクトフォルダー内またはグローバル。エラー:コマンドが失敗しました:phonegap -v 'phonegap'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
ナガ

@Nagaデフォルトの接頭辞npm構成変数または.npmrc / npmrcファイルで設定したものによって指定されるグローバルnpmディレクトリに、cordovaまたはphonegapをインストールする必要があります。最も可能性が高いのは、C:\Users\yourusername\AppData\Roaming\npmWindowsまたは/usr/localUNIXカーネルで実行している場合です。ターミナル/コマンドを入力すると、プレフィックスがわかりますnpm config get prefix
NoodleOfDeath

9

端末(osx)から私は通常使用します

cordova plugin -l | xargs cordova plugins rm

パイプ、パイプすべて!

少し拡張するには:このコマンドはの結果をループしてにcordova plugin -lフィードしcordova plugins rmます。

xargsは、以前に知らなかった理由を不思議に思うコマンドの1つです。このツタンカーメンを見てください。


1
cordova 9.0.0以降、これは正しく機能しなくなり、JVE999は機能します。
Bala Clark、

4

私はこのpythonワンライナーでそれを行います:

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]"

明らかに、それはあらゆる種類のエラー条件を処理しませんが、仕事を完了させます。


シェルスクリプトを使用するだけです。独自の依存関係を持つさらに別のプログラミング言語をミックスに投入すると、Cordovaはさらに大きな混乱になります。
tfmontague 2017年

2

Cordovaから覚えている限り、プロジェクトで使用されているプラ​​グインのリストを含むxmlファイルが "res"フォルダーにあるはずです。おそらくそれらの未使用のプラグインをリストから削除する必要があります。また、関連ファイルも削除する必要があります。


私はこのスレーブに物理的にアクセスできません。この方法で行うことはできません。
mmmm 2014


1

これは、Cordovaでプラグインを削除するためのコマンドラインです

cordova plugin remove <pluginid>

たとえば、実行cordova pluginしてプラグインのリストを取得したら、プラグインのIDを使用してアンインストールしました

cordova plugin remove com.monday.contact-chooser

次のように入力すると、コマンドラインでヘルプを表示できます

cordova help <command>


Cordovaプラグインがcom.monday.contact-chooserを削除するとエラーが発生する-エラー:プラグイン「cordova-plugin-name」がプロジェクトに存在しません。を参照してくださいcordova plugin list
S.Yadav 2017年

投稿を削除してください。質問されたのは、「すべてのプラグインを削除するコマンドはありますか」です。
tfmontague

1

インストールされたプラグインの間に依存関係があるため(例えば、cordova-plugin-fileとcordova-plugin-file-transfer)、インストールされたプラグインのリストの処理に基づくスクリプトは機能しない可能性があります。

この例では、スクリプトは最初にファイルプラグインを見つけ、次にそれを削除しようとします。ファイル転送で必要になるため、エラーが発生します。したがって、


これは、インストールされているプラ​​グイン間の依存関係についての良い点です。--force
とにかく

0

コマンド:を実行するときcordova plugin remove <PLUGIN NAME>は、プラグイン名にバージョン番号を追加しないでください。たとえば、単純なプラグイン名:

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

0
  • フォルダにアクセスする
  • プラグインのリスト(cordovaプラグインリスト)
  • イオンコルドバプラグインは「pluginName」を削除します

大丈夫だ!


0

上記の解決策が機能せず、未処理のプロミス拒否が発生した場合は、次の手順に従ってください。

  1. Cordovaプロジェクトをクリーンアップする

    コルドバきれい

    1. プラットフォームを削除

コルドバプラットフォームはandroid / iosを削除します

  1. 次にプラグインを削除します

Cordovaプラグインの削除

  1. プラットフォームを追加してプロジェクトを実行する
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.