How to resolve Bower dependency version conflicts?
BowerBower Problem Overview
I have a project that depends on both:
- jquery ~1.9.1
- another project which in turn depends on jquery >=1.7.2
But when I run bower install
, it ends up installing jquery 2.0.2.
This seems broken.
How do I either (a) make it correctly solve the constraints or (b) explicitly force a final version to be installed (workaround)?
Bower Solutions
Solution 1 - Bower
You can add resolutions
to the object in your bower.json
file and specify the component name & version to automatically resolve the conflict when running bower commands.
Like this:
{
"name": "project-x",
"private": true,
"dependencies": {
"bootstrap-sass": "~3.3.7",
"modernizr": "~2.8.3",
"jquery": "~1.11.3"
},
"devDependencies": {},
"resolutions": {
"jquery": "~1.11.3"
}
}
Also you can run bower install
and when bower will ask for "suitable version" (if interactive mode is on), prefix choice with !
, so bower will save your choice into bower.json file.
Solution 2 - Bower
use --force-latest