Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bootstrap 3.3.6 JQuery 2.2.4 Version Exception

I am trying to use Bootstrap and JQuery in my new ASP.Net Core application. But I encounter the error "Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3" when I try to run the application.

I have used bower to add Bootstrap to my application, and have added version 3.3.6 of Bootstrap which automatically adds JQuery 2.2.4. The problem is that it seems that version 2.2.4 of JQuery is actually versioned at 3.0.0-rc1, which causes Bootstrap validation to fail as it will only accept versions of JQuery from version 1.9.1 but less than version 3?

How can I resolve this conflict? How is it that Bootstrap comes packaged with an incompatible version of JQuery?

Here you can see my files in my solution, showing the Bootstrap and JQuery versions: as you can see there are no other versions of JQuery installed either.

Here is a snippet of my Html markup

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
</head>
<body>
    <h1>HELLOOOO!</h1>
    <script type="text/javascript" src="~/lib/jquery/dist/jquery.min.js"></script>
    <script type="text/javascript" src="~/lib/bootstrap/dist/js/bootstrap.min.js"></script>
</body>

</html>

Which results in Chrome reporting "Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3"

Any help would be greatly appreciated!

like image 589
tainted.eye Avatar asked Jun 02 '16 06:06

tainted.eye


2 Answers

We found that the root of the problem is git.exe from C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\git which is not a real Git but some sort of a wrapper.

With it, bower tries to install correct versions, but if you look into the bower cache you can see that actual downloaded files don't match.

Example:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External>

bower install jquery#2.2.4
bower jquery#2.2.4          not-cached https://github.com/jquery/jquery-dist.git#2.2.4
bower jquery#2.2.4             resolve https://github.com/jquery/jquery-dist.git#2.2.4
bower jquery#2.2.4            checkout 2.2.4
bower jquery#2.2.4            resolved https://github.com/jquery/jquery-dist.git#2.2.4
bower jquery#2.2.4             install jquery#2.2.4

jquery#2.2.4 bower_components\jquery

Check the contents of "%USERPROFILE%\AppData\Local\bower\cache\packages\35300e45e44dbc6f186ed069533ef0af\2.2.4\dist\jquery.js":

/*eslint-disable no-unused-vars*/
/*!
 * jQuery JavaScript Library v3.1.0

Solution:

  1. Install Git for Windows
  2. Delete %USERPROFILE%\AppData\Local\bower
  3. Restart Visual Studio
  4. Delete wwwroot/lib and Restore bower packages

Update: You might also need to adjust VS external web tools settings

like image 192
amartynov Avatar answered Oct 20 '22 00:10

amartynov


As pointed out by Phil, this is caused by Visual Studio's built in Bower support. When using this, it seems to download a different version of JQuery.

To fix this, I just used the proper Bower client and installed my packages through the console.

like image 24
tainted.eye Avatar answered Oct 20 '22 01:10

tainted.eye