Visual Studio 2015中没有安装Bower

8
在Visual Studio 2015中使用空模板,以下配置未能安装依赖项。
{
  "name": "ASP.NET",
  "private": true,
  "dependencies": {
    "bootstrap": "3.0.0",
    "bootstrap-touch-carousel": "0.8.0",
    "hammer.js": "2.0.4",
    "jquery": "2.1.4",
    "jquery-validation": "1.11.1",
    "jquery-validation-unobtrusive": "3.2.2"
  }
}
当在ASP.NET中使用Web应用程序示例模板相同的配置时,操作成功完成。 我的同事也遇到了同样的问题。
这是已知的问题吗?是否有解决方法?我漏掉了什么?
输出窗口中显示的错误信息为:
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\Bower.cmd" install --force-latest
bower bootstrap#3.0.0        ENOTFOUND Request to https://bower.herokuapp.com/packages/bootstrap failed: getaddrinfo ENOTFOUND

我在调整配置时遇到了以下错误。

ECMDERR 执行 "git ls-remote --tags --heads https://github.com/twbs/bootstrap.git" 失败,退出码为 #128。


似乎是主机未解析的问题:您是否有代理或其他可能过滤非交互式HTTP请求的东西? - Richard
@Richard 我也希望是这样。代理和https代理都已正确配置。如上所述,在“预览”模板中它可以正常工作,但在空模板中不能正常工作。 - kanchirk
请查看此链接。这解决了我的问题。 尝试使用以下选项重新安装git - pawan nepal
7个回答

19

我在VS 2015 RTM(不是RC)中遇到了类似的错误。 以下方法已经成功解决:

  1. 安装 git 工具(如果未安装)从 http://git-scm.com/download/win
  2. 命令行输入以下命令(或者 git bash,如果你没有将 git 添加到 PATH):git config --global url."http://".insteadOf git://
  3. 在 VS 菜单工具 > 选项.. > 项目和解决方案 > 外部 Web 工具
  4. 取消勾选 $(DevEnvDir)\Extensions\Microsoft\Web Tools\External\git
  5. 添加 C:\Program Files (x86)\Git\bin

希望这可以帮到你。

注意:我在一个 MVC 5 web 应用程序上遇到此问题,而不是新版预览模板,但我正在使用 Gulp/Bower/NPM 工具。

更新1 虽然不是重复的情况,但错误消息相似。我想知道是否在 Web 应用程序模板中进行了某些覆盖?如果是这样就好了。 VS 2015 + Bower: Does not work behind firewall

更新2 我在上述更改之后尝试了一个空项目: bower bootstrap#3.0.0 not-cached git://github.com/twbs/bootstrap.git#3.0.0 bower bootstrap#3.0.0 resolve git://github.com/twbs/bootstrap.git#3.0.0


谢谢你的回答。但是它没有帮助到我。希望它能帮助其他可能遇到这个问题的人。 - kanchirk
哦我的天啊,它修好了!首先它导致Visual Studio 2015企业版崩溃,让我很担心。但是在重新启动VS2015后,它完美地工作了。谢谢deebo,现在把Red的链子还给他吧!那是他奶奶送给他的! :) - Eric Milliot-Martinez
2
我会保留它直到星期五 ;) - Devon Burriss
这个对我有用。它真的没有下载包,不仅是其他答案提到的错误。做完这个之后,它就可以工作了。 - Tyler
步骤#4和#5独立解决了我的“Bower-未安装”问题。+1。 - Moby's Stunt Double

16

这是一个bug。扩展wwwroot/lib文件夹,可以清楚地看到实际已加载的软件包。关闭/重新打开项目,一切似乎都正常了。我们从您的报告中开了一个bug。感谢您对问题提供了可执行的描述,对于您的经历我们很抱歉。


我甚至不需要关闭项目,只是开始保存文件以准备关闭,问题就解决了。 - devSpeed

1
我也遇到了这个问题,使用VS2015 3版本,我尝试了Owen的方法,但对我没有用。
最后我做的是:
1. 删除`bower.json`和`.bowerrc`文件 2. 删除`bower_components`和`wwwroot`文件夹 3. 在项目中添加一个新的`bower`配置文件 4. 再次添加依赖项
这样就可以解决问题了。
在删除`wwwroot`文件夹之前,从输出窗口中看到,如果您尝试添加一个新的`bower`配置文件,VS只会在您添加新的依赖项时安装`bower`,并在此之后检查`wwwroot`文件夹中是否已经安装了依赖项文件(不幸的是我没有保存输出,它说它不安装依赖关系,因为已经安装了相同版本的依赖关系)。这意味着可能只需删除`bower_components`和`wwwroot`文件夹并还原包即可解决该问题。

0

我在VS2015.3中遇到了这个问题。我没有时间深入研究是什么原因导致了这个孤立的情况,但基本上,在bower_components下的文件夹被识别为非bower文件夹(?),从而阻止了bower install安装包。(我怀疑是VS和TS git repos的问题。)

尝试了@deebo列出的测试后,我并没有更接近解决方案。为了使其恢复正常,我执行了以下步骤:

  1. 删除bower_components下的所有内容
  2. 再次运行

此时,我的所有模块都正确安装了。希望这对其他遇到类似问题的人有所帮助。


0
通常情况下,您只需要在项目中删除bower_components文件夹并执行Bower/Restore Packages即可。这是一些bower的魔法。

0

可能是某些Bower组件未安装。通过Bower Package Manager删除并重新安装此组件。在克隆存储库后,我遇到了类似的情况。Ng-table库未恢复,VS在Sulotion Expolrer Bower中向我显示了消息 - 未安装。这些操作帮助了我。


-2

不是

{
    "jquery-validation": "1.11.1",
    "jquery-validation-unobtrusive": "3.2.2"
}

只需使用

{
    "jquery-validation": "*",
    "jquery-validation-unobtrusive": "*"
}

当你使用“*”时,你告诉bower安装任何可用于NuGet包的版本


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接