2015-12-03 1 views
7

Editer: Cela se produit lorsque vous travaillez avec ionique 2. Je sais que ce n'est pas encore stable, mais je suppose qu'il peut y avoir une solution pour cela, car il semble que d'autres ne reçoivent pas ce problème. Modifier fin(Ionic 2) Une erreur est survenue en essayant de revenir à l'exécution Cordova-lib: TypeError: Impossible de lire la propriété 'alors' de 0defined

Pour une raison que j'ai soudainement commencé à obtenir cette erreur en essayant de construire mon application ionique, en utilisant « build ionique androïde », et aussi « ios ionique de construction »:

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) 

Je suis perdu ici, et je n'ai aucune idée d'où commencer à chercher.

Y a-t-il quelqu'un qui a déjà vu cela et qui peut me diriger dans la bonne direction?

+0

pouvez-vous mettre votre extrait de code dans overflow plunker ou pile avoir une idée de ce que vous demandez @larschla –

+0

@Anilkumar Le problème ici est qu'il ne semble pas que mon code fasse quoi que ce soit. Je reçois cette erreur chaque fois que j'essaie de courir ** ionique construire android ** Peu importe lequel de mes applications je le fais. Il semble que toute la construction ionique est brisée. – larschla

+0

J'ai essayé de réinstaller ionique et cordova, sans n'importe quelle chance. Il est possible de construire à la fois android et ios si je cours de construction ionique android en tant qu'administrateur (sudo). Le problème est que la sortie de la construction doit être chmod/chown chaque fois que je veux faire quelque chose avec eux. Par exemple. Ouvrez le projet ios dans xcode. Donc, il semble que ce soit un problème de permission - je ne sais pas quels fichiers/dossiers je dois donner les bonnes prémisses. – larschla

Répondre

5

J'ai eu le même problème sur Ubuntu.

Je devais installer quelques dépendances.

Tout d'abord cordova, avec:

npm install -g cordova 

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

Et un SDK Java.

+0

Même chose sur windows .. 'npm install -g cordova' a fait l'affaire pour moi –

+0

Je viens d'obtenir 'throw new TypeError (' données invalides ');' maintenant – Rambatino

3

désinstaller le monde (utilisez la commande sudo si nécessaire)

sudo npm uninstall -g ionic 
sudo npm uninstall -g [email protected] 
sudo npm uninstall -g cordova 

permissions fixes comme celui-ci: https://docs.npmjs.com/getting-started/fixing-npm-permissions

cela a fonctionné pour moi:

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

Réinstaller (sans sudo)

npm install -g ionic 
npm install -g [email protected] 
+0

Merci. J'ai fait ce que tu dis ici, mais j'ai toujours le même problème. Même message d'erreur:/ – larschla

+0

J'ai aussi dû exécuter: npm install cordova. En outre, j'ai eu une erreur d'autorisation que j'ai résolu avec la réponse d'Anand ici: http://stackoverflow.com/questions/33812158/ionic-update-notifier-cordova-json-you-dont-have-access-to-this -file – Dave

6

@mabs @mgcdanny

Je suis assez certain d'avoir trouvé la cause du problème. J'ai couru cordova -v et vu cette sortie -

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. 

Je puis a couru

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

Maintenant, je vois qu'il est rapporte cordova à 6.0.0 et peut faire construire ionique/préparer à nouveau.

Je pense que ce qui s'est passé est que la CLI ionique ne pensait pas que la CLI de cordova était installée. Peut-être qu'il est possible que quelque part la CLI Ionic fait un cordova -v et se faisait raccrocher par le problème d'autorisation en lisant le fichier ~/.config/configstore/update-notifier-cordova.json.

+0

Vraiment utile, merci! – Rambatino

+0

Même config (El Capitan) et était dans le noir pendant plus de 4 heures. Il a résolu le problème. Je vous remercie! –

+0

Cela a été la solution pour moi aussi. Merci! –

0

Le processus de construction recherchait Cordova-lib et n'a pas pu le trouver. Cela est généralement dû si vous n'avez pas installé Cordoval-CLI

Pour vérifier si vous avez cordova-CLI installé, le type $ ionic info Vérifiez le résultat.si vous voyez Cordova CLI: Non installé run NPM installer -g [email protected] $ ionic info> il devrait montrer Cordova CLI: 4.2.0