プラグマンを使用したプラグインの管理
バージョン3.0以降、CordovaはすべてのデバイスAPIをプラグインとして実装し、デフォルトでは無効にしています。概要で説明されているワークフローの選択に応じて、プラグインの追加と削除に2つの異なる方法がサポートされています。
-
クロスプラットフォームワークフローを使用する場合は、コマンドラインインターフェースで説明されているように、
cordova
CLIユーティリティを使用してプラグインを追加します。CLIは、指定されたすべてのプラットフォームのプラグインを一度に変更します。 -
プラットフォーム中心のワークフローを使用する場合は、ターゲットとする各プラットフォームに対して個別に、より低レベルのPlugmanコマンドラインインターフェースを使用します。
このセクションでは、Plugmanユーティリティについて詳しく説明します。ノードモジュールとしてPlugmanを使用する方法やソースコードの変更については、そのリポジトリのREADMEファイルを参照してください。
Plugmanのインストール
plugmanをインストールするには、マシンにnodeをインストールする必要があります。その後、環境内の任意の場所から次のコマンドを実行してplugmanをグローバルにインストールし、任意のディレクトリから使用できるようにすることができます。
$ npm install -g plugman
リモートgit URLから直接プラグインをインストールするには、git
がPATH
にある必要があります。
ヒント: npm
でplugmanをインストールした後でも、plugman
コマンドを実行できない場合は、/npm/
ディレクトリをPATH
に追加していることを確認してください。
注記: Plugmanをグローバルにインストールしてグローバルnpm
名前空間を汚染したくない場合は、この手順をスキップできます。この場合、シェルツールでCordovaプロジェクトを作成すると、プロジェクト内にPlugmanを含むnode_modules
ディレクトリが作成されます。グローバルにインストールしていないため、各Plugmanコマンドに対してnode
を呼び出す必要があります。たとえば、node ./node_modules/plugman/main.js -version
のようにします。このガイドの残りの部分では、Plugmanをグローバルにインストールしている(つまり、plugman
だけで呼び出せる)ことを前提としています。
Cordovaプロジェクトの作成
Plugmanを使用する前に、Cordovaプロジェクトを作成する必要があります。これは、コマンドラインインターフェースまたは低レベルのシェルスクリプトを使用して実行できます。シェルスクリプトを使用してプロジェクトを作成する手順は、プラットフォームガイドページにリストされているさまざまな「コマンドラインツール」ガイドにあります。
プラグインの追加
Plugmanをインストールし、Cordovaプロジェクトを作成したら、次のようにしてプラットフォームにプラグインを追加できます。
$ plugman install --platform <ios|android> --project <directory> --plugin <name|url|path> [--plugins_dir <directory>] [--www <directory>] [--variable <name>=<value> [--variable <name>=<value> ...]]
最小限のパラメータを使用すると、このコマンドはプラグインをCordovaプロジェクトにインストールします。プラットフォームと、そのプラットフォームのCordovaプロジェクトの場所を指定する必要があります。また、異なる--plugin
パラメータ形式を使用してプラグインを指定する必要があります。
name
: プラグインの内容が存在するディレクトリ名。これは、--plugins_dir
パス(詳細については後述)の下にある既存のディレクトリ、またはCordovaレジストリにあるプラグインである必要があります。url
: https://またはgit://で始まるURLで、クローン可能でplugin.xml
ファイルを含む有効なgitリポジトリを指します。このリポジトリの内容は--plugins_dir
にコピーされます。path
:plugin.xml
ファイルを含む有効なプラグインを含むディレクトリへのパス。このパスの内容は--plugins_dir
にコピーされます。
その他のパラメータ
--plugins_dir
はデフォルトで<project>/cordova/plugins
ですが、フェッチされた各プラグインのサブディレクトリを含む任意のディレクトリにすることができます。--www
はデフォルトでプロジェクトのwww
フォルダの場所ですが、CordovaプロジェクトアプリケーションのWebアセットとして使用される任意のディレクトリにすることができます。--variable
を使用すると、インストール時に特定の変数を指定できます。これは、APIキーやその他のカスタムのユーザー定義パラメータを必要とする特定のプラグインに必要です。詳細については、プラグイン仕様を参照してください。
プラグインの削除
プラグインをアンインストールするには、uninstall
コマンドを渡し、プラグインIDを指定するだけです。
$ plugman uninstall --platform <ios|android> --project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]
ヘルプコマンド
Plugmanには、行き詰まった場合や問題が発生した場合に役立つグローバルヘルプコマンドがあります。使用可能なすべてのPlugmanコマンドとその構文のリストが表示されます。
plugman -help
plugman # same as above
注記: plugman -help
には、レジストリ関連コマンドが追加で表示される場合があります。これらのコマンドはプラグイン開発者向けであり、サードパーティのプラグインレジストリでは実装されていない可能性があります。
任意のPlugmanコマンドに--debug|-d
フラグを追加して、詳細モードでコマンドを実行することもできます。これにより、発行された内部デバッグメッセージが表示され、ファイルの欠落などの問題の追跡に役立ちます。
# Adding Android battery-status plugin to "myProject":
plugman -d install --platform android --project myProject --plugin cordova-plugin-battery-status
最後に、--version|-v
フラグを使用して、使用しているPlugmanのバージョンを確認できます。
plugman -v
レジストリアクション
プラグインレジストリとやり取りするために使用できる、多くのplugmanコマンドがあります。これらのレジストリコマンドは、plugins.cordova.ioプラグインレジストリに固有のものであり、サードパーティのプラグインレジストリでは実装されていない可能性があることに注意してください。
プラグインの検索
Plugmanを使用して、指定されたキーワードのスペース区切りリストと一致するプラグインIDをプラグインレジストリで検索できます。
plugman search <plugin keywords>
プラグインレジストリの変更
plugmanが使用している現在のプラグインレジストリのURLを取得または設定できます。サードパーティのプラグインレジストリを使用しない限り、通常はhttp://registry.cordova.ioに設定したままにしておく必要があります。
plugman config set registry <url-to-registry>
plugman config get registry
プラグイン情報の取得
次のようにして、プラグインリポジトリに保存されている特定のプラグインに関する情報を取得できます。
plugman info <id>
これにより、プラグインレジストリにアクセスして、プラグインのバージョン番号などの情報を取得します。
コアプラグインのインストール
以下の例は、バージョン3.0にアップグレードした後でもプロジェクトで使用しているCordova APIが引き続き機能するように、必要に応じてプラグインを追加する方法を示しています。各コマンドでは、ターゲットプラットフォームを選択し、プラットフォームのプロジェクトディレクトリを参照する必要があります。
-
cordova-plugin-battery-status
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-battery-status
-
cordova-plugin-camera
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-camera
-
cordova-plugin-console
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-console
-
cordova-plugin-contacts
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-contacts
-
cordova-plugin-device
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-device
-
cordova-plugin-device-motion (加速度計)
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-device-motion
-
cordova-plugin-device-orientation (コンパス)
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-device-orientation
-
cordova-plugin-dialogs
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-dialogs
-
cordova-plugin-file
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-file
-
cordova-plugin-file-transfer
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-file-transfer
-
cordova-plugin-geolocation
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-geolocation
-
cordova-plugin-globalization
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-globalization
-
cordova-plugin-inappbrowser
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-inappbrowser
-
cordova-plugin-media
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-media
-
cordova-plugin-media-capture
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-media-capture
-
cordova-plugin-network-information
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-network-information
-
cordova-plugin-splashscreen
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-splashscreen
-
cordova-plugin-vibration
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-vibration