2016-07-08 51 views
10

我有一个aspnet核心1.0项目VS内鲍尔问题。我bower.json是这个鲍尔VS2015.3下载错误的版本

{ 
 
    "name": "asp.net", 
 
    "private": true, 
 
    "dependencies": { 
 
    "bootstrap": "3.3.6", 
 
    "jquery": "2.2.4", 
 
    "jquery-validation": "1.14.0", 
 
    "jquery-validation-unobtrusive": "3.2.6" 
 
    } 
 
}

但是,当我去那个凉亭下载库我发现jQuery是V3.1.0

/*eslint-disable no-unused-vars*/ 
 
/*! 
 
* jQuery JavaScript Library v3.1.0 
 
* https://jquery.com/ 
 
* 
 
* Includes Sizzle.js 
 
* https://sizzlejs.com/ 
 
* 
 
* Copyright jQuery Foundation and other contributors 
 
* Released under the MIT license 
 
* https://jquery.org/license 
 
* 
 
* Date: 2016-07-07T21:44Z 
 
*/

我认为这是我的机器,但它发生在三台不同的机器上。难道我做错了什么??

编辑: 我试着用这样的:

{ 
 
    "name": "asp.net", 
 
    "private": true, 
 
    "dependencies": { 
 
    "jquery": "~2.2.4" 
 
    }, 
 
    "resolutions": { 
 
    "jquery": "<=2.2.4" 
 
    } 
 
}

在bower.json配置的这只包是jQuery和仍然安装的jQuery 3.0.1。为什么凉亭这样做? npm/bower的输出窗口显示:

PATH =。\ node_modules.bin; C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Web \ External;%PATH%; C:\ Program Files (x86)\ Microsoft Visual Studio 14.0 \ Web \ External \ git “C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Web \ External \ Bower.cmd”install --force-latest

bower jquery #〜2.2.4缓存https://github.com/jquery/jquery-dist.git#2.2.4

凉亭的jQuery#〜2.2.4验证2.2.4对https://github.com/jquery/jquery-dist.git#~2.2.4

凉亭jQuery的超分辨率不必要的分辨率:jQuery的#< = 2.2.4

凉亭的jQuery#〜2.2.4中安装jQuery 2.2.4#

的jQuery 2.2.4#的wwwroot \凉亭\ jQuery的

+0

你是否在正确的文件夹找?鲍尔可能会安装到一个不同的文件夹比你想象的... –

+0

是的,我正在看正确的文件夹。我配置了一个不同的文件夹。我也尝试过使用默认项目,它具有相同的行为 – snekkke

+0

哦,我刚刚看到了一些......'--force-latest'被附加到你的bower命令中,所以它正是这样做的。视觉工作室的某处可能会有这样的设置。我没有在我面前,但我会寻找工具>选项中的凉亭设置...可能在Web下,然后是关于包的东西。 –

回答

0

我有同样的问题。修正它是删除jquery包,添加然后手动添加到bower.json与正确的版本: “jquery”:“2.2.4”, 希望这会帮助某人。

+1

它没有为我工作。我已经用ui手动尝试过了,但是bower总是安装最新版本。也发生在所有的软件包上。尽管我在任何包上指定了版本,但bower会安装最新版本。 – snekkke

6

我正面临同样的问题,并已成功解决它。 Visual Studio 2015附带的凉亭存在问题,可能在Visual Studio更新之一中引入。你可以做什么:

  1. 安装的Git(依赖)
  2. 安装的NodeJS
  3. 安装凉亭
  4. 配置的Visual Studio选择使用已安装的NodeJS版本
  5. 删除凉亭缓存文件夹%USERPROFILE% \应用程序数据\本地\亭子

参考: http://josharepoint.com/2016/05/04/how-to-configure-visual-studio-2015-integration-with-latest-version-of-node-js-and-npm/

2

另一个时间黑客,直到微软修复该问题可能会改变内容bower.cmd从参数列表中删除--force-latest字符串。

我的Visual Studio 2015.3安装文件bower.cmd位于C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External

,就应该替换:

@"%~dp0\node" "%~dp0\node_modules\bower\bin\bower" %* 

有了:

ECHO OFF 
set params=%* 
ECHO %params% | %WINDIR%\system32\FIND "--force-latest" >nul & 
IF ERRORLEVEL 0 (call set params=%%params:--force-latest=%%%) 
@"%~dp0\node" "%~dp0\node_modules\bower\bin\bower" %params% 

上面这段代码将检查参数,如果--force-latest存在,将被移除,然后执行有明确的参数字符串亭子。

+0

这似乎不适用于我。脚本完美地移除了--force-latest参数,但Bower仍然只是获得了jQuery 3.1.1(尽管它认为它下载了2.2。3) – Jobbo

+0

@Jobbo检查到隐藏文件“bower.json”(在你的项目根目录)的“决议”部分,可能是引用jQuery 3.1.1作为版本来解决冲突...(由旧的错误参数) –

+0

将修复程序应用到.cmd文件后,我也尝试手动编辑bower.json。我完全删除了“决议”部分,并将唯一的“依赖项”设置为“jquery”:“2.2.3”,但Bower仍然获得3.1.1。 --force-latest的描述是'强制冲突的最新版本',所以我不相信在这种情况下删除它会产生变化 – Jobbo

0

这是一个GIT的包装问题,这post是非常有益的解决这个问题: 安装GIT for windows,改变了Visual Studio的外部Web工具 (工具 - >选项 - >项目和解决方案 - >外部Web工具)从“$ (VSINSTALLDIR)\ Web \ External \ git“复制到”C:\ program files \ git \ bin“ 清除临时文件并恢复凉亭。

现在一切正常。

0

我的解决方法有点冒失,就是从bower.json中删除了显式的jQuery版本,并且引导程序自己解决了这个依赖关系。

我bower.json看起来是这样的:

{ 
    "name": "asp.net", 
    "private": true, 
    "dependencies": { 
    "bootstrap": "~3.3.6", 
    "font-awesome": "4.7.0" 
    } 
}