ionic lib 1.1.0 causing $injector error - angularjs

I have just updated the ionic library to 1.1.0 and I am now seeing the below error.
Uncaught Error: [$injector:unpr] Unknown provider: $$forceReflowProvider <- $$forceReflow <- $$animateQueue <- $animate <- $compile <- $ionicTemplateLoader <- $ionicPopup <- $$animateQueue
http://errors.angularjs.org/1.4.3/$injector/unpr?p0=%24%24forceReflowProvid…0%24ionicTemplateLoader%20%3C-%20%24ionicPopup%20%3C-%20%24%24animateQueue
I am unable to find which file in my library is causeing this error.

Thanks to #pankaj Parkar I was giving incorrect answer to bower conflicts when updating
Unable to find a suitable version for angular-animate, please choose one:
1) angular-animate#1.3.13 which resolved to 1.3.13 and is required by ionic#1.0.1
2) angular-animate#1.4.3 which resolved to 1.4.3 and is required by ionic#1.1.0
3) angular-animate#~1.4.4 which resolved to 1.4.7 and is required by Rehab_Guru
Prefix the choice with ! to persist it to bower.json
? Answer 2
Unable to find a suitable version for angular-sanitize, please choose one:
1) angular-sanitize#1.3.13 which resolved to 1.3.13 and is required by ionic#1.0.1
2) angular-sanitize#1.4.3 which resolved to 1.4.3 and is required by ionic#1.1.0
Prefix the choice with ! to persist it to bower.json
? Answer 2
bower install ionic#1.1.0

Related

Can't add any new Angular Module

In Jhipster v3.9.1,
i tried add module to my projet, but i can't .
For example, i want to add this module http://hakib.github.io/MassAutocomplete/
so i run bower install angular-mass-autocomplete --save
after i run gulp inject:vendor and gulp inject:dep
So the index.html is refreshed now and the module is there đź‘Ť
So when i want to use it, i tried to add the .$inject=[] array , it didn't work, i tried use it next to module, it didn't work too ! .module('moduleName', ['mass-autocomplete'])
It gives me always this error :
angular.js:13920 Error: [$injector:unpr] Unknown provider: mass-autocompleteProvider <- mass-autocomplete <- ControllerName
Can't we use a bower module or NPM module ??
Thank you
The first javascript example on linked page shows the injection
var app = angular.module('app', ['ngSanitize', 'MassAutoComplete']);
when in your question you do it like
.module('moduleName', ['mass-autocomplete'])
change 'mass-autocomplete' to 'MassAutoComplete' and it should work - unless you didn't included the JS library in your output JS

Unable to find a suitable version for angular installing UI-GRID

I'm installing ui-grid via bower but I get the following error. What is it? What I have to do? What I have to answer in terminal?
Unable to find a suitable version for angular, please choose one:
1) angular#>=1 <1.3.0 which resolved to 1.2.29 and is required by angular-bootstrap#0.12.1
2) angular#1.3.20 which resolved to 1.3.20 and is required by angular-animate#1.3.20, angular-mocks#1.3.20, angular-resource#1.3.20
3) angular#~1.3.8 which resolved to 1.3.20 and is required by angular-dashboard-seed
4) angular#>=1.2.16 1.4.x which resolved to 1.4.10 and is required by angular-ui-grid#3.1.1
5) angular#^1.0.8 which resolved to 1.5.5 and is required by angular-ui-router#0.2.18
6) angular#* which resolved to 1.5.5 and is required by angular-toastr#1.0.2
Prefix the choice with ! to persist it to bower.json
It's not an error. This is to allow the user to select which version of angular to include in the project. Go with #4 it's recommended for your version of ui-grid.

Angular Animate Unknown provider: $animate <- $compile <- $$animateQueue

When I'm running my app I'm getting an error,
Uncaught Error: [$injector:unpr] Unknown provider: $$forceReflowProvider <- $$forceReflow <- $$animateQueue <- $animate <- $compile <- $$animateQueue
I've read that it might be because the animate and angular version are out of sync but that's not the case.
my bower.json:
"angular": "1.4.8",
"angular-animate": "1.4.8",
I've also removed my bower_components folder and did a bower install but the error persists. Any ideas?
Not sure what's happening, but it looks like the problem has to do with the sprockets gem. If I change the sprockets gem to sprockets (3.2.0) in the gemlock file I can open the app with no problems.

Migrating from Angular 1.2.14 to 1.4.2 breaks whole application

I have angular App defined with following:
var myApp = angular.module('myApp', ['ngRoute','infinite-scroll','geolocation', 'ngAnimate', 'ngTouch','ui.filters', 'AxelSoft','angularLazyImg','wu.masonry','ui.bootstrap','ngSanitize']);
Until now I was using AngularJS version 1.2.14. Now I need to use AngularJS form validations and in order to do that, I have decided to migrate to Angular's latest stable version 1.4.2.
When I have changed the angular version, things got broke and console throws
Uncaught Error: [$injector:modulerr] with following stack trace :
Error: $injector:modulerr
Module Error
Failed to instantiate module myApp due to:
TypeError: Cannot read property 'push' of undefined
at http://localhost:8000/static/mobile/js/angularApp/app.js:6:37
at Object.e [as invoke] (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:39:156)
at d (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:37:328)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:37:452
at m (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:7:322)
at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:37:229)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:37:398
at m (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:7:322)
at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:37:229)
at eb (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js:40:503
I have tried reading and understanding angularJS official migration guide but I coudn't able to figure out what's in it for me as I haven't used $animate in my code(It $animate and $touch are injected only for another plugin to work i.e. sliders and also I have used 'ngROute anywhere')
Does anyone have idea what should be done here as I have no idea about where do I start :)
So here is what was needed to be done to migrate my angular Application.
Migrate ngRoute and ngAnimate with the same version of angular
Remove HTTP interceptors which was in 1.2 and change them to the style of angular 1.4
In my case, removing $httpProvider and migration ngAnimate and ngRoute had solved my problem.

Error: [$injector:unpr] Unknown provider: $$rAFProvider

Using Karma to test Angular getting error:
Error: [$injector:modulerr] Failed to instantiate module ngMock due to:
Error: [$injector:unpr] Unknown provider: $$rAFProvider
Angular mock, Angular versions error?
I've heard solutions detailing changing of angular-mock version or angular version--which seems like a bad idea since I'd like to test on the same version as the app starts with.
Anyone else have an error like this?
Please check your angular version.
Your angular version and angular-mock version must be same.
To download angular-mock go the below link and replace the X.Y.Z with your angular version and save it
http://ajax.googleapis.com/ajax/libs/angularjs/X.Y.Z/angular-mocks.js
for example my angular version is 1.2.9
This work for me .
This issue was resolved by making sure the rails asset pipeline, which provides the angular-related assets in my case, was correctly serving assets during testing.

Resources