7

編集:これは ionic 2 で作業しているときに発生しています。まだ安定していないことはわかっていますが、他の人はこの問題を抱えていないように見えるので、これには何らかの修正があると思います。編集終了

何らかの理由で、「ionic build android」と「ionic build ios」を使用して ionic アプリをビルドしようとすると、突然このエラーが発生し始めました。

An Error occurred trying to fall back to Cordova-lib execution: TypeError: Cannot read property 'then' of undefined
at Object.IonicTask.runCordova (/usr/local/lib/node_modules/ionic/lib/ionic/cordova.js:262:21)
at /usr/local/lib/node_modules/ionic/lib/ionic/cordova.js:142:19
at _fulfilled (/usr/local/lib/node_modules/ionic/node_modules/q/q.js:787:54)
at self.promiseDispatch.done (/usr/local/lib/node_modules/ionic/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/ionic/node_modules/q/q.js:749:13)
at /usr/local/lib/node_modules/ionic/node_modules/q/q.js:557:44
at flush (/usr/local/lib/node_modules/ionic/node_modules/q/q.js:108:17)
at doNTCallback0 (node.js:430:9)
at process._tickCallback (node.js:359:13)

Error happened [TypeError: Cannot read property 'then' of undefined]
    TypeError: Cannot read property 'then' of undefined
at Object.IonicTask.runCordova (/usr/local/lib/node_modules/ionic/lib/ionic/cordova.js:262:21)
at /usr/local/lib/node_modules/ionic/lib/ionic/cordova.js:142:19
at _fulfilled (/usr/local/lib/node_modules/ionic/node_modules/q/q.js:787:54)
at self.promiseDispatch.done (/usr/local/lib/node_modules/ionic/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/ionic/node_modules/q/q.js:749:13)
at /usr/local/lib/node_modules/ionic/node_modules/q/q.js:557:44
at flush (/usr/local/lib/node_modules/ionic/node_modules/q/q.js:108:17)
at doNTCallback0 (node.js:430:9)
at process._tickCallback (node.js:359:13)

私はここで迷子になり、どこから探し始めればよいかわかりません。

これを以前に見たことがあり、私を正しい方向に向けることができる人はいますか?

4

4 に答える 4

6

@mabs @mgcdanny

問題の根本原因を突き止めたと確信しています。私は走っcordova -vてこの出力を見ました -

Ross-MBP:test rossmartin$ cordova -v
/usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:53
                throw err;
                ^

Error: EACCES: permission denied, open '/Users/rossmartin/.config/configstore/update-notifier-cordova.json'
You don't have access to this file.

それから走った

Ross-MBP:test rossmartin$ sudo chown -R rossmartin ~/.config
Ross-MBP:test rossmartin$ cordova -v
6.0.0

現在、Cordova が 6.0.0 であり、イオンのビルド/準備を再度実行できると報告しています。

何が起こったのかは、Ionic CLI が cordova CLI がインストールされていると認識していなかったためだと思います。おそらく、Ionic CLI がどこかでファイルcordova -vを読み取る権限の問題によってハングアップしていた可能性があり~/.config/configstore/update-notifier-cordova.jsonます。

于 2016-02-26T16:24:45.970 に答える
5

Ubuntuでも同じ問題がありました。

いくつかの依存関係をインストールする必要がありました。

まずコルドバで、次のようにします。

npm install -g cordova

http://developer.android.com/sdk/index.htmlの Android SDK

そしてJava SDK。

于 2016-01-25T13:32:43.447 に答える
3

グローバルにアンインストールします (必要に応じて sudo を使用します)

sudo npm uninstall -g ionic
sudo npm uninstall -g ionic@beta
sudo npm uninstall -g cordova

次のようなアクセス許可を修正します: https://docs.npmjs.com/getting-started/fixing-npm-permissions

これは私のために働いた:

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

再インストール (sudo なし)

npm install -g ionic
npm install -g ionic@beta
于 2016-01-26T23:41:02.353 に答える
0

ビルド プロセスは Cordova-lib を探していましたが、見つかりませんでした。これは通常、Cordival-CLI をインストールしていない場合に発生します

cordova-CLI がインストールされているかどうかを確認するには、$ ionic info 「Check the result」と入力します。Cordova CLI: Not installed run npm install -g cordova@4.2.0 が表示された場合$ ionic info> Cordova CLI: 4.2.0 と表示されるはずです

于 2016-03-08T17:44:47.053 に答える