【问题标题】:Bower in VS2015.3 download wrong versionBower在VS2015.3下载错误版本
【发布时间】:2016-11-10 17:37:20
【问题描述】:

我在一个 aspnet core 1.0 项目的 VS 中遇到了凉亭问题。我的 bower.json 是这个

{
  "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"
  }
}

但是当我访问 bower 下载的库时,我发现 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

bower jquery#~2.2.4 针对 https://github.com/jquery/jquery-dist.git#~2.2.4 验证 2.2.4

bower jquery extra-resolution 不必要的分辨率:jquery#

凉亭 jquery#~2.2.4 安装 jquery#2.2.4

jquery#2.2.4 wwwroot\bower\jquery

【问题讨论】:

  • 您是否在正确的文件夹中查找? Bower 可能会安装到与您想象的不同的文件夹...
  • 是的,我正在查看正确的文件夹。我已经配置了一个不同的文件夹。我也尝试了默认项目,它具有相同的行为
  • 哦,我刚刚看到了一些东西...--force-latest 已附加到您的 bower 命令中,所以,它就是这样做的。在视觉工作室的某个地方可能有一个设置。我面前没有它,但我会在工具>选项中寻找凉亭设置...可能在 Web 下,然后是关于包的东西。
  • VS中没有bower的设置。怎么解决?

标签: jquery visual-studio-2015 asp.net-core bower


【解决方案1】:

这是工具库中的一个已知问题:

https://github.com/aspnet/Tooling/issues/575

我只是切换到 npm,它可以很好地解析正确的包版本。

【讨论】:

  • 同意,我找到的唯一解决方案是切换到 npm。我更喜欢它。
【解决方案2】:

我遇到了同样的问题,并已成功解决。 Visual Studio 2015 附带的 bower 存在问题,可能在 Visual Studio 更新之一中引入。你可以做什么:

  1. 安装 Git(依赖)
  2. 安装nodejs
  3. 安装凉亭
  4. 配置 Visual Studio 选项以使用您安装的 nodejs 版本
  5. 删除 bower 缓存文件夹 %USERPROFILE%\AppData\Local\bower

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

【讨论】:

    【解决方案3】:

    另一个临时 hack,在微软解决问题之前,可能是更改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存在,将被删除,然后用清除参数字符串执行bower。

    【讨论】:

    • 这似乎对我不起作用。该脚本完美地删除了 --force-latest 参数,但 Bower 仍然只是获取 jQuery 3.1.1(即使它认为它下载了 2.2.3)
    • @Jobbo 检查隐藏文件“bower.json”(在您的项目根目录中)的“解决方案”部分,可能正在引用 jQuery 3.1.1 作为解决冲突的版本...(由老错误参数)
    • 在将修复应用到 .cmd 文件后,我还尝试手动编辑 bower.json。我完全删除了“解决方案”部分并将唯一的“依赖项”设置为“jquery”:“2.2.3”,但鲍尔仍然得到 3.1.1。 --force-latest 的描述是“强制冲突的最新版本”,所以我不相信在这种情况下删除它会有所作为
    • 这解决了这个问题(使用来自 VS 的默认 bower.cmd):stackoverflow.com/questions/37584520/…
    • @cronixis 建议的这个加上清除凉亭缓存通过 VS2015 更新 3 和 VS2015 的 ASP.NET Core MVC 工具的预览 2 为我解决了这个问题。我认为不同的版本组合可能需要不同的修复。
    【解决方案4】:

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

    【讨论】:

    • 它对我不起作用。我用 ui 手动尝试过,但 bower 总是安装最新版本。它也发生在所有的包上。尽管我在任何包上指定了版本,但 bower 安装的是最新版本。
    【解决方案5】:

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

    现在一切正常。

    【讨论】:

      【解决方案6】:

      我的,有点老套的解决方案是从 bower.json 中删除 jQuery 的显式版本,并让引导程序本身解决该依赖关系。

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

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

      【讨论】:

        猜你喜欢
        • 2014-04-22
        • 1970-01-01
        • 2017-05-07
        • 2023-02-22
        • 2015-03-27
        • 1970-01-01
        • 1970-01-01
        • 2020-07-29
        • 2015-07-19
        相关资源
        最近更新 更多