Проблема

В Visual Studio 2015 при использовании bower мой пакет не восстанавливается, когда он находится за брандмауэром, с ошибкой, похожей на:

ECMDERR Не удалось выполнить "git ls-remote --tags --heads git: //github.com/jzaefferer/jquery-validation.git", код выхода # -532462766

Я обновил свою конфигурацию git, чтобы использовать http вместо git. Когда я запускаю из командной строки, команда выполняется успешно:

enter image description here

Но Visual Studio или один из ее компонентов, похоже, в любом случае использует git вместо http.

Предпосылки и первая попытка решения

Использование Visual Studio 2015 и Bower для управления пакетами. Он отлично работает, когда не за брандмауэром, но когда за брандмауэром я не могу использовать протокол git://.

Решение - задокументированное во многих других местах в SO (пример) - запустить :

git config --global url."http://".insteadOf git://

Я сделал это, и теперь мой git config -l выглядит так:

ore.symlinks=false
core.autocrlf=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
user.name=Sean Killeen
user.email=SeanKilleen@gmail.com
url.http://.insteadof=git://

Но, несмотря на это, либо Visual Studio / npm не соблюдает мою конфигурацию, либо использует старую кэшированную версию.

Вторая попытка решения

В этой ветке по проблеме npm я увидел, что npm (предположительно bower используется в VS) использует синтаксис git@. Несмотря на то, что это не то, что я увидел на выходе, я решил, что попробую.

Я побежал:

git config --global url."https://github.com/".insteadOf git@github.com:

Затем я перезапустил Visual Studio, но проблема не исчезла. Исправление, о котором я читал, вероятно, никогда не применимо.

Есть идеи, как исправить?

33
SeanKilleen 25 Фев 2015 в 20:31

11 ответов

Лучший ответ

Та же проблема с VS 2015, мое решение:

  1. Установить Git

    http://git-scm.com/

  2. Настройте Git для использования http вместо git: // с Git Bash

    git config --global url. "http: //". вместо git: //

    Изменить (как указано g.pickardou), вы можете использовать https для большей безопасности:

    git config --global url. " https : //" .insteadOf git: //

  3. Настройте VS для использования нового установленного Git поверх VS Git

    Щелкните правой кнопкой мыши папку Bower (в разделе «Зависимости»), затем выберите «Настроить внешние инструменты».

    Снимите флажок "$ (DevEnvDir) \ Extensions \ Microsoft \ Web Tools \ External \ git"

    Добавьте новый узел с "C: \ Program Files (x86) \ Git \ bin"

Надеюсь, это кому-то поможет,

Рожерио

61
Rogerio Soares 23 Апр 2016 в 13:23

Если вам нужно глобальное решение .

ВНИМАНИЕ : это может повлиять на несколько настроек прокси через разные приложения, но это определенно то, что вам нужно :)

ПРИМЕЧАНИЕ Если у вас есть специальные символы в вашем имени пользователя: пароль в настройках вашего прокси-сервера, вам необходимо их URLENCODED. Пример: http: // DOMAIN% 5Cuser + name% 3AP %40%24%24w0rd@proxy.server.com: 8080

Вы должны добавить 2 переменные среды.

Для этого в Windows 10:

  1. НАЧАЛО
  2. Искать "Изменить системные переменные среды"
  3. (в расширенной вкладке свойств системы) нажмите «Переменные среды ...)
  4. (в системной переменной) нажмите "Создать ..."
  5. Создать переменную (имя переменной: HTTP_PROXY, значение переменной: http: // proxyuser: proxypwd@proxy.server. com: 8080)
  6. Создать переменную (имя переменной: HTTPS_PROXY, значение переменной: http: // proxyuser: proxypwd@proxy.server. com: 8080)
  7. Перезагрузите Windows
0
rdhainaut 7 Июн 2016 в 14:06

Запуск VS Bower из командной строки с подключенной домашней папкой

Ответ, данный @Rogerio Soares, хорош, и я думаю, что многие люди найдут его очень полезным (включая меня).

Тем не менее, здесь, на работе, инструменты, которые я могу установить, очень, очень ограничены (это означает, что я не могу установить другую версию Bower без разрешения многих людей), плюс мой домашний каталог сопоставлен с общим сетевым ресурсом в z:\ политикой. Каждый раз, когда я запускал git config --global для настройки git, настройки конфигурации помещались в z:\.gitconfig. Этот файл конфигурации отлично обрабатывается при использовании полномасштабного Git SCM. Однако очевидно, что для libgit2sharp (используемого версией Git, встроенной в Visual Studio 2015) этот файл должен находиться по адресу c:\username\.gitconfig.

Итак, после копирования моего файла .gitconfig из z:\ в c:\username\ я смог запустить версию bower для Visual Studio прямо из командной строки.

0
Community 20 Июн 2020 в 09:12

Если у вас есть дружелюбный администратор брандмауэра, попросите его разрешить доступ к внешним репозиториям git, определив следующую политику брандмауэра:

TCP 9418 (UDP не требуется)

0
dataCore 13 Янв 2016 в 11:37

У меня была такая же проблема в Visual Studio 2015 RC (не CTP). Поскольку это единственная соответствующая тема, которую я где-либо нашел, решил добавить сюда свой 2c.

Расширяя ответ @ MagicMau, можно сказать, что строки в bower.cmd, на которые есть ссылка, не существуют в 2015 RC, поэтому я применил другой подход и установил переменную env PATH, так что теперь весь мой файл bower.cmd выглядит так:

set PATH=C:\Program Files (x86)\Git\bin\;%PATH%
@"%~dp0\node\node" "%~dp0\bower\node_modules\bower\bin\bower" %*

Обратите внимание, что первая строка - это то, что я добавил, а вторая строка - это существующий контент.

В первый раз, когда я сделал это, Visual Studio вылетела во время восстановления пакета, но, похоже, работает после перезапуска VS.

2
SirSquidness 19 Май 2015 в 02:34

Самый простой ответ, который определенно работает, здесь. У меня сильно заболела эта проблема. Просто скачайте git и установите его. При установке выберите этот вариант. Запустите Git из командной строки Windows

3
pawan nepal 28 Апр 2016 в 00:01

У меня была такая же проблема в Visual Studio 2015 RC (не CTP), и я решил ее.

Bower.cmd в 2015 RC не работает должным образом, поэтому мне пришлось отключить его в моем VS и использовать официальный, установленный на моем ПК. Это легко сделать, просто щелкните правой кнопкой мыши папку «Bower» в проекте и выберите «настроить внешние инструменты», затем снимите флажок с раздела «$ (DevEnvDir) \ Extensions \ Microsoft \ Web Tools \ External \ git».

Вам также может потребоваться изменить файл ".bowerrc", чтобы GIT работал по правильному пути для вашего проекта.

После этого все работает как положено.

4
L.L. 29 Май 2015 в 13:49

В VS 2015, обновление 2: просто установите Git

http://git-scm.com/

6
chinglun 22 Апр 2016 в 19:54

У меня такая же проблема. Очевидно, Git.exe, с которым поставляется VS2015 CTP, не использует .gitconfig. Но вы можете исправить это (вручную), если у вас есть инструменты командной строки git, установленные в другом месте.

В C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External вам нужно будет отредактировать файл bower.cmd.

Закомментируйте строки 4 и 5:

rem -- set GIT_PATH=%~dp0\git
rem -- set PATH=%GIT_PATH%;%PATH%`

Это запустит команду для использования уже установленного Git, который подберет локальный файл .gitconfig.

Убедитесь, что вы установили соответствующий параметр git:

git config --global url."http://".insteadOf git://
6
MagicMau 13 Апр 2015 в 12:57

Решение, которое сработало для меня с выпуском VS2015, заключается в следующем:

  1. Установите инструмент командной строки git.
  2. Измените файл C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Web Tools \ External \ bower.cmd с этим содержимым:

    set PATH=C:\Program Files (x86)\Git\bin\;%PATH%
    git config --global url."http://".insteadOf git://
    git config -l
    @"%~dp0\node\node" "%~dp0\bower\node_modules\bower\bin\bower" %*
    
7
arcaner 14 Авг 2015 в 15:16

Установленная версия git от Microsoft (по крайней мере, с обновлением VS2015 Update 1) поддерживает файл .gitconfig, но инструменты, установленные по умолчанию, не дают вам возможности манипулировать им (как и все другие ответы показывают использование git config для устранения проблемы).

Чтобы решить эту проблему без дополнительных установок и прочего, просто создайте файл .gitconfig в C: \ Users \ YourUserName и поместите туда это содержимое (это содержимое, которое будет делать git config --global, но поскольку у вас нет git .exe, который может изменять конфигурацию, вы не можете использовать его, не установив что-то еще, что вам действительно не нужно)


    [url "https://github.com/"]
        insteadOf = git@github.com:
    [url "https://"]
        insteadOf = git://

13
BrettJ 9 Дек 2015 в 15:06