Cordovaをアップデートする手順と注意点

Cordovaをアップデートする際の手順と注意点についてまとめました。

Cordova本体(CLI)のアップデート

Cordovaをグローバル領域に入れている場合は、-gオプションを付けて、以下のコマンドを実行します。

$ npm update -g cordova
/usr/local/bin/cordova -> /usr/local/lib/node_modules/cordova/bin/cordova
cordova@4.3.0 /usr/local/lib/node_modules/cordova
├── underscore@1.7.0
├── q@1.0.1
├── nopt@3.0.1 (abbrev@1.0.5)
└── cordova-lib@4.3.0 (valid-identifier@0.0.1, osenv@0.1.0, properties-parser@0.2.3, bplist-parser@0.0.6, mime@1.2.11, semver@2.0.11, unorm@1.3.3, rc@0.5.2, shelljs@0.3.0, dep-graph@1.1.0, npmconf@0.1.16, through2@0.6.3, xcode@0.6.7, init-package-json@1.3.0, elementtree@0.1.5, request@2.47.0, glob@4.0.6, d8@0.4.4, tar@1.0.2, plist@1.1.0, npm@1.3.4, cordova-js@3.8.0)

バージョンを確認します。

$ cordova -v
4.3.0

各プラットフォームごとのモジュールのアップデート

v4から各プラットフォームごとにモジュールが分かれたので、それぞれのアップデートを行います。

以下はiOS版の場合です。

$ cordova platform update ios
npm http GET https://registry.npmjs.org/cordova-ios/3.8.0
npm http 200 https://registry.npmjs.org/cordova-ios/3.8.0
npm http GET https://registry.npmjs.org/cordova-ios/-/cordova-ios-3.8.0.tgz
npm http 200 https://registry.npmjs.org/cordova-ios/-/cordova-ios-3.8.0.tgz
Updating ios project...
iOS project updated with cordova-ios@3.8.0

バージョンを確認します。

$ cordova platform ls
Installed platforms: android 3.6.4, ios 3.8.0
Available platforms: amazon-fireos, blackberry10, browser, firefoxos

プラグインのアップデート

プラグインを入れている場合、プラグインのアップデートも行います。

なお、プラグインのアップデートは、以下のコマンドで行います。

$ cordova plugin rm {プラグイン名}
$ cordova plugin add {プラグイン名}

ただし、プラグインがもう存在していないと、rmで削除した後、addで追加できなくなります。

なので、cordova plugin search コマンドで事前に存在を確認しましょう。

注意点:カスタムファイルのマージ

iOS版の場合、Classesディレクトリー内のファイルはアップデートされないようです。

恐らく、この中のファイルはカスタマイズ可能なため、自分でマージしないといけないということなのだと思います。

新規プロジェクトを作成するか、リポジトリからソースを取得するかして、ファイルを比較しましょう。

GitHub apache/cordova-ios

Android版の場合、srcディレクトリー内のMainActivity.javaファイルのマージが必要です。

他のプラットフォームは未調査ですが、同様の処理が必要かもしれません。

関連記事