web-dev-qa-db-fra.com

Angular-animate - Fournisseur inconnu: $$ asyncCallbackProvider <- $$ asyncCallback <- $ animate <- $ compile

J'ai un problème étrange. Je veux inclure angular-animate dans mon projet AngularJS - j'utilise AngularJS v1.2.6. J'ai ajouté angular-animate dans mon fichier bower. Il a téléchargé et ajouté à mon fichier HTML dans la source et il pointe vers le bon fichier (il se charge dans le navigateur). Maintenant, je dois ajouter cela en tant que dépendance, alors j'ajoute le module à mon application ...

angular.module('myApp', [
        'ngResource',
        'ngSanitize',
        'ngRoute',
        'ui.bootstrap',
        'LocalStorageModule',
        'cookiesModule',
        'ngAnimate'
    ])  

Cependant, dès que Grunt déclenche la détection d'un changement de fichier et des builds, j'obtiens l'erreur suivante:

Unknown provider: $$asyncCallbackProvider <- $$asyncCallback <- $animate <- $compile

J'ai vérifié l'orthographe, j'ai suivi les instructions mentionnées sur https://github.com/angular/bower-angular-animate mais je ne vois pas pourquoi cela ne fonctionne pas ou pourquoi je reçois l'erreur! J'ai changé la position de la dépendance dans le tableau de dépendances mais cela ne fait rien. Quelqu'un d'autre a-t-il vécu cela? Je continuerai mes recherches, mais si quelqu'un a surmonté ou déterminé pourquoi cela se produit, veuillez en parler! Merci d'avance

57
Mike Sav

Phew! Je pense que j'ai corrigé cela ... Bower semble être le problème et la solution!

Je passe d'AngularJS 1.2.6 à 1.2.15 dans mon fichier Bower et cela a résolu mon problème:

alors j'ai changé ça:

  "angular": "1.2.6"

pour ça

  "angular": "1.2.15"

Eh bien, cela ne m'a coûté que 2 heures!

73
Mike Sav

Le problème ici est que la version Angular ne correspond pas à la version angular-animate. Essayez de les garder alignés, donc si vous utilisez angular 1.2.6 , utilisez également angular-animate 1.2.6.

Vous devez également nettoyer vos composants bower (supprimer le dossier bower) après avoir apporté des modifications dans bower.json, bower ne vérifiera pas si la version installée est la même que dans bower.json

En général, je recommanderais d'utiliser la version stable la plus élevée angular et la version ng-animate si vous le pouvez.

56
Paul Weber

Ce problème est probablement dû à un problème de compatibilité. Bien que la modification de la version angular dans bower.json résoudrait le problème, mais la meilleure façon de résoudre ce problème est d'obtenir la dernière copie de angular and angular -animer ie ~ 1.4.0

Et la meilleure partie est que asyncCallback n'est pas utilisé dans la dernière version. Donc, aucune erreur de ce genre ne se produirait. : p

1
Sandeep Gantait

J'ai fait face au même problème. J'ai utilisé angular animate 1.3.4 avec angular 1.4.8. Après avoir déclassé la version angular version 1.3.4) , erreur disparue.

1
Madura Pradeep

Dans votre fichier bower.json

rechercher et modifier en "angular": "1.5.8" et que tapez la commande bower update

0
gijonc