web-dev-qa-db-ja.com

Cordovaエラー:「requireCordovaModule」を使用して非cordovaモジュール「q」をロードすることはサポートされていません

次のエラーが原因で、CIのビルドが失敗し始めたことに気付きました。

_Discovered plugin "cordova-plugin-app-version" in config.xml. Adding it to the project

Installing "cordova-plugin-app-version" for Android

Adding cordova-plugin-app-version to package.json
Using "requireCordovaModule" to load non-cordova module "q" is not supported. Instead, add this module to your dependencies and use regular "require" to load it.
[ERROR] Exception: 
The command '/bin/sh -c ionic cordova platforms add Android' returned a non-zero code: 1
_

IOSとAndroidの両方で同じ問題が発生します。

掘り下げた後、 cordova 9.0. が最近リリースされたことがわかりました。

この問題に関連する変更がいくつかあります。

  • GH-710 Q依存関係を削除し、ネイティブプロミスを使用する
  • GH-707非CordovaモジュールのrequireCordovaModuleを廃止

私の最初の考えは、どういうわけかコルドバのバージョンがロックされていなかったが、dockerfileで_[email protected]_にロックしたことでした。また、ローカルマシンでテストし、バージョン_8.1.2_もコードバにしました。したがって、これは問題にはなりません。

ログをもう少し見てみると、次のようなログに気づきました。

cordova-Android version check failed ("/app/platforms/Android/cordova/version"), continuing anyways.

3や4のようにいくつかありましたが、それが起こってもビルドは停止しませんでした。

次に、古いコミットのビルドを再度実行しましたが、おそらく一部のレイヤーがキャッシュされていたため、正常に機能しました。しかし、1つのパッケージのみを変更した場合(試してみるために更新しました)、ほとんどのレイヤーが再構築され、上記のエラーでビルドがクラッシュしました。

どういうわけか、いくつかのより深い依存関係が更新され、問題を引き起こしているようです。

ご協力いただきありがとうございます。

62

同じ問題がありました。これは私が私のものを解決した方法です:

cordova plugin | awk '{ print "cordova plugin rm " $1 " && cordova plugin add " $1 }' | sh
ionic cordova remove Android && ionic cordova add Android
0

C:\ Windows\System32をPATH変数に追加して、この奇妙な問題を修正します。

0
Supriya

cordova-plugin-crosswalk-webviewを削除

0
Iheb Miled