Bower: Install 2 versions of jQuery
Solution 1
In the dependencies part of your bower.json you can have something like this:
"dependencies": {
"jquery": "2.0.0",
"jquery-1.9.1": "http://code.jquery.com/jquery-1.9.1.js"
}
One shouldn't normally have to do this, but sometimes you have to maintain / migrate an existing website that (for whatever reason) uses different versions of jquery in different pages!
Solution 2
According to the bower docs
Bower offers several ways to install packages:
# Using the dependencies listed in the current directory's bower.json bower install # Using a local or remote package bower install <package> # Using a specific version of a package bower install <package>#<version> # Using a different name and a specific version of a package bower install <name>=<package>#<version>
You can install two different versions of jQuery like so:
bower install jquery-legacy=jquery#1.10 jquery-modern=jquery#2
Or, if you prefer to set that up in a bower.json
"dependencies": {
"jquery-legacy": "jquery#1.10",
"jquery-modern": "jquery#2"
}
Solution 3
From the command line, if you just want the latest 1.x and 2.x versions, you can loosen the constraints in the answer above.
So:
bower install jquery-legacy=jquery#1.10 jquery-modern=jquery#2
would become:
bower install jquery-legacy=jquery#^1 jquery-modern=jquery
Adam Coulombe
Updated on July 05, 2022Comments
-
Adam Coulombe almost 2 years
How would I go about installing 2 versions of jQuery using bower? I want to have v2.0 as well as 1.9.1 for browser support fallback
The issue I'm having is that if you run
bower install jquery#1.9.1 jquery#2.0.0
the first version gets overwritten by the second because they are the same component -
Adam Coulombe almost 11 yearsthanks! good to know, is that a newly added feature? I dont think this was a possibility when I was originally seeking an answer
-
buzzedword almost 11 years@AdamCoulombe looks like this was added as of v1.0.0. It's been stable for a relatively long period of time (software wise) but wasn't in any pre-release of bower.
-
Mike Causer over 9 yearswhat about:
"jquery-1.9.1": "jquery#1.9.1"
-
gotofritz over 9 yearsThis should be the chosen answer
-
buzzedword over 9 yearsAs the PHP/Packagist community is now learning,
bower install jquery-legacy=jquery#^1 jquery-modern=jquery
-- while looser-- still doesn't place an upper bound on the "modern" version. A better loose constraint would be:bower install jquery-legacy=jquery#^1 jquery-modern=jquery#^2
, since it keeps the modern with an upper bound to prevent major breaking changes. By the time 2.x isn't "modern" anymore, i'd assume you would change the package name anyway. -
Akhil Xavier almost 9 years"dependencies": { "jquery": "2.0.0", "jquery-1.9.1": "code.jquery.com/jquery-1.9.1.js" } ---------- This answer is working fine.But when I minify and uglify the code only one version is available and so the code which use other version is getting broken.Is there any solution for this?
-
kaosmos about 8 yearsDefinitely this should be the answer
-
JohnnyQ about 8 yearsThis really helps. Follow up question: how do you specify which jQuery version needs to be used on another library? I have an open question here.