Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Strange angular version resolving bug with bower install

Tags:

I'm trying to update my angular version, and I think bower went just mad.

My deps :

    "dependencies": {     "underscore":"*",     "momentjs":"~2.2.1",     "bootstrap": "~3.0.0",     "jquery": "~1.9.1",     "jquery.cookie": "*",     "jquery-ui": "~1.10.3",     "jquery-file-upload": "*",     "angular": "~1.2.0-rc.2",     "angular-route": "~1.2.0-rc.2",     "angular-resource": "~1.2.0-rc.2",     "angular-animate": "~1.2.0-rc.2",     "angular-cookies": "~1.2.0-rc.2",     "angular-i18n": "~1.2.0-rc.2",     "angular-bootstrap" : "*",     "ng-grid": "*",     "highcharts": "*",     "highcharts-ng": "*" },  "devDependencies": {     "angular-mocks": "~1.2.0-rc.2",     "angular-scenario": "~1.2.0-rc.2" } 

the important thing here is : all angular modules are version 1.2.0-rc.2

But when doing

bower install 

here is the result :

Unable to find a suitable version for angular, please choose one: 1) angular#1.0.8 which resolved to 1.0.8 and has angular-scenario#1.2.0-rc.2 as dependants 2) angular#1.2.0-rc.2 which resolved to 1.2.0-rc.2 and has angular-animate#1.2.0-rc.2, angular-cookies#1.2.0-rc.2, angular-mocks#1.2.0-rc.2, angular-resource#1.2.0-rc.2, angular-route#1.2.0-rc.2, angular-scenario#1.2.0-rc.2 as dependants 3) angular#~1.2.0-rc.2 which resolved to 1.2.0-rc.2 and has tael-web as dependants 4) angular#>=1 which resolved to 1.2.0-rc.2 and has angular-bootstrap#0.6.0 as dependants 5) angular#>=1.0.4 which resolved to 1.2.0-rc.2 and has highcharts-ng#0.0.2 as dependants 

bower seems to think that angular-scenario 1.2.0-rc2 requires angular 1.0.8 ... ???

which is actually just false : https://github.com/angular/bower-angular-scenario/tree/v1.2.0-rc.2

bower.json :

{   "name": "angular-scenario",   "version": "1.2.0-rc.2",   "main": "./angular-scenario.js",   "dependencies": {     "angular": "1.2.0-rc.2"   } } 

What I am missing here ? What can I do to resolve this ? To be clear : I dont want to use the interactive conflict resolving method, because this is appening on a remote CI. I just want to underscore how the * assume angular scenario 1.2.0-rc2 as angular 1.0.8 as dependency...

thanks

like image 953
Pierre Gayvallet Avatar asked Sep 20 '13 17:09

Pierre Gayvallet


1 Answers

Try adding this section to your bower.json:

"dependencies": {   ... }, "resolutions":{   "angular": "1.2.0-rc.2" } 

Note: angular version in resolutions as same as version in dependencies.

like image 148
kblmfld Avatar answered Oct 13 '22 16:10

kblmfld