Cordova
ionic

ionicのpluginのアップデート

ionicアプリも数ヶ月ぐらいかけて作っていると、使っているプラグインのバージョンも上がっていきますが、バージョン間の齟齬がでないように管理されているようなので、バージョンを気にすることなく開発を進めることができます。

しかし、その状態で新しいプラグインを導入しようとすると、バージョンの齟齬が出る場合があります。
例えば、現在plugin A, B, Cの三つを使っていて、Plugin AとCは内部でBを使っているとします。

Plugin A (1.1.0)
    |
  Plugin B (2.0.1)
    |
Plugin C (1.5.0)

ここに新しくPlugin Dをインストールするとし、このPlugin Dは最新のPlugin B(3.1.0)を使っているとすると、インストール時にPlugin Bが古い (2.0.1が存在しているが、3.1.0が必要)というエラーメッセージが出ます。そこでPlugin Bをアップデートすることにします。ionicでは一つのコマンドでプラグインをアップデートできないので、アップデートするには一旦該当のプラグインを削除して、再インストールします。

例えば、plugin Bをアップデートするには、以下のようにします。

$ ionic cordova plugin rm pluginB
$ ionic cordova plugin add pluginB

この時、今度はPluginAとCが古いとエラーが出てしまいます。古いとエラーがでたpluginを順にアップデートしていけば、必要なプラグインが全部アップデートされますが、使用しているプラグインが多いとかなり大変です。しかも、アプリの開発が進んでいると、すでに動いているところも再度確認する必要が出てきます。

新しい機能を開発するために新しいプラグインを使いたいだけの場合、全体を再検証する時間は取れないので、すでに使っているプラグインを迂闊にアップデートしたくはありません。この場合は、新しいプラグインのバージョンを現在の環境で動くバージョンにしてまず新機能の開発を進める方が良いです。ionicではインストールするプラグインのバージョンを@マークを使って指定できます。

上の例で、Plugin Dが2.5.0だとPluginB (2.0.1)で動くとすると、バージョン2.5.0のPluginDをインストールするには以下のうようにします。

$ ionic cordova plugin add pluginD@2.5.0

現在の環境でどのバージョンが整合するかを簡単に調べる方法はないので、一つずつ古いバージョンを試していくしかないようです。