Ошибки Git / Bower: код выхода # 128 и сбой подключения


86

Я использую Bower для установки нескольких библиотек. Здесь в демонстрационных целях я устанавливаю bootstrap. Независимо от упаковки я получаю следующие ошибки:

C:\Scott>bower install bootstrap
bower not-cached    git://github.com/twbs/bootstrap.git#*
bower resolve       git://github.com/twbs/bootstrap.git#*
bower ECMDERR       Failed to execute "git ls-remote --tags --heads git://github
.com/twbs/bootstrap.git", exit code of #128

Additional error details:
fatal: unable to access 'https://github.com/twbs/bootstrap.git/': Failed connect
to github.com:443; No error    

Я попытался использовать следующее решение, чтобы удалить первую ошибку, которую нашел в ходе этого поиска :

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

Однако это не работает, как и другие решения, найденные на этой странице. При поиске решения для второй ошибки кажется, что установка имени пользователя / pwd для прокси-сервера решит проблему, если вы находитесь в корпоративной сети / за брандмауэром. Однако я не использую прокси-сервер, поскольку я использую свой домашний компьютер / сеть (Windows 7 x64).

Благодарность!

РЕДАКТИРОВАТЬ: командное окно с ошибками:

введите описание изображения здесь



была аналогичная проблема и с npmhttps, решена с помощьюgit config --global url."git@github.com:".insteadOf "https://github.com"
grabantot 02

Ответы:


123

Я знаю, что это не «решает» проблему, но вы можете использовать

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

чтобы указать git использовать HTTPS вместо GIT, который помог мне установить зависимости npm.


9
Это только у меня, или это на самом деле ни у кого не работает? Это самый высокий результат в Google практически для всех поисков, относящихся к ошибкам bower 128, и после изменения этого параметра bower по-прежнему использует протокол git.
Bloodyaugust

1
@Bloodyaugust, у меня тоже не работает. Все еще используетgit://
Логан

1
Это сработало для меня, хотя я не понимаю, в чем проблема.
Мендхак

У меня тоже сработало, и я тоже не знаю почему. @Bloodyaugust, @Logan, вы проверили свой глобальный файл .gitconfig ( git config --global --edit)? Просто, знаете, чтобы убедиться. И более конкретный .gitconfig (для каждого пользователя или для проекта git) может его переопределить.
Рафаэль Эйнг,

2
Сработало для меня - я предполагаю, что порт 22 закрыт на рабочей машине, где я пробовал это. Так что нет SSH для github :( Могу сказать, что я выполнил команду из папки проекта (git) ... если это имеет какое-то
различие

34

Вместо того, чтобы запустить эту команду:

 git ls-remote --tags --heads git://github.com/twbs/bootstrap.git

вы должны запустить эту команду:

 git ls-remote --tags --heads git@github.com:twbs/bootstrap.git

или

 git ls-remote --tags --heads https://github.com/twbs/bootstrap.git

или вы можете запустить, git ls-remote --tags --heads git://github.com/twbs/bootstrap.gitно вам нужно, чтобы git всегда использовал https следующим образом:

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

Ссылка: https://github.com/bower/bower/issues/50


Спасибо. Я попытался заставить git всегда использовать https, но не уверен, что это сработало - см. Изображение, которое я прикрепил в исходном сообщении. Ошибки по-прежнему возникают независимо от того, какой пакет установки bower я пробую.
azsl1326 07

20

Я столкнулся с этим в своей корпоративной сети.

Это казалось странным, потому что я всегда использовал ssh для подключения к git и никогда не имел проблем.

Я пробовал https и не работал, поэтому добавил настройки прокси в конфигурацию git, и все было хорошо

git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
git config --global https.proxy https://proxyuser:proxypwd@proxy.server.com:8080

И убедившись, что это сработало

git config --list

Спасибо ... Это было и в моем случае. Мне пришлось настроить git для использования co. прокси ..
Пол Т.

Если это сработало для вас, и вы также используете npm, вам, вероятно, потребуется установить эквивалент: npm config set proxy http://<your-corporate-proxy>иnpm config set https-proxy http://<your-corporate-proxy>
aponzani

1
git config http.sslVerify "false"может понадобиться и для некоторых корпоративных прокси.
Джон Фухи

8

Порт 22 был заблокирован на моем компьютере. Как только я обнаружил, что его блокирует, и открыл порт, я смог без проблем запустить команду bower install.


Ни порт 22, ни порт 9418, открываемый на входе / выходе для tcp / udp, не разблокировали меня.
kayleeFrye_on, декабрь

6

Похоже, что azsl1326 не смог использовать bower (git) через порт 9418 (git: //), а затем сказал git использовать вместо этого порт 22 (https: //). Это все еще не помогло, но открытие порта 22 дало желаемый результат.

Наиболее прямое решение - открыть порт 9418. Это порт, который использует протокол git: //.


1
Я думаю, что это должен быть принятый ответ, потому что это явно порт 9418 git, заблокированный брандмауэром. По крайней мере, так было на моем сервере CentOS с брандмауэром CSF.
Christos Lytras

Ни порт 22, ни порт 9418, открываемый на входе / выходе для tcp / udp, не разблокировали меня.
kayleeFrye_on, декабрь

Где ваше удаленное репо? Эти порты открыты на этом сервере?
Генри

4

Перейдите в папку своего приложения и запустите эту команду

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

"

Это должно решить вашу проблему



3

Вы за брандмауэром?

Git не выбирает конфигурацию прокси при вызове, поэтому явно задайте переменные среды, например:

export HTTP_PROXY=http://username:password@proxyserver:port/
export HTTPS_PROXY=http://username:password@proxyserver:port/

Если ваш корпоративный прокси не требует аутентификации, просто опустите username:password@бит в URL-адресах.

У меня это сработало!


3

Если ваша страна блокирует github, например, материковый Китай, вы можете создать прокси, например, использовать goagent и gae, а затем установить адрес прокси для git, например

git config --global http.proxy 127.0.0.1:8087

2

Эта ошибка связана с неправильной настройкой вашего брандмауэра. Вы заметите, что bower пытается связаться с git через git://протокол, а не через http://. Вы должны открыть порт 9418. Добавьте эти две строки в конфигурацию iptables:

iptables -t filter -A INPUT -p tcp --dport 9418 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 9418 -j ACCEPT

Это должно помочь.


1

Во-первых, вы должны проверить, распознает ли командная строка Visual Studio команду git: Инструменты> Командная строка

C: \ .... \> git

если эта команда не распознается, вам следует добавить папку git в переменные среды

https://stackoverflow.com/a/26620861/3449657

Это то, чего мне не хватало, и это помогло мне.

Надеюсь, это поможет.


0

Я добавляю здесь свой ответ, так как это один из самых близких вопросов, соответствующих моей ситуации. Пытался установить select2, а не bootstrap, но результат был таким же.

bower install select2сообщил, что git не смог найти каталог. Использовал

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

config, но это привело к (перефразированной) ошибке

Я не могу использовать https

Моя проблема решена неудовлетворительно, так как связана с магией.

Я пытался запустить это в командной оболочке (cmd.exe, windows). Я выполнил ту же команду и запустил ее в PowerShell, и она сработала. ಠ_ಠ

tl; dr: комбинация https: // и powershell сработала для меня


0

Я получил эту ошибку после того, как моя антивирусная программа поместила загрузку с github.com в карантин. По неизвестной причине.

После того, как я очистил эти файлы (файлы exe), все заработало.


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

не работал у меня. Итак, я нашел эту альтернативу:

Перейдите в свою временную папку. (то есть если вы используете окна C:\Users\{username}\AppData\Roaming\bower\cache\packages). Там вы можете увидеть несколько файлов. Откройте каждый из них, и вы увидите URL-адрес. Измените его с git://...на https://...и сохраните все файлы.

Теперь запустите bower install.


или просто беги bower cache cleanвместо этого.
ночь

0

Проверьте настройки конфигурации git ( git config --global --edit). В моем случае было несколько недействительных записей, например:

[core]
gitproxy = gitproxy.cmd
["https: //"]
["https: //"]
[url "https: //"]

Исправьте их и удалите, если они вам больше не нужны.


0

Ваши ключи неправильные. Просто добавьте их в GitHub / Bitbucket / все, что вы используете. Это не более чем проблема с вашими ключами.


0

Однако я не использую прокси-сервер, поскольку я нахожусь на своем домашнем ПК / сети.

У меня была такая же проблема (получение кода выхода 128) в моей домашней сети, и я был уверен, что не использую прокси. Оказывается, Git сохранил прокси-сервер, который я вводил некоторое время назад - после просмотра конфигураций я нашел его под тегом [http].

Я новичок в Git, и я совсем не уверен, что эти конфигурации обычно легко доступны - я использую Tortoise Git, так как на самом деле я не делаю ничего особенного и у него есть графический интерфейс для вещей.

Надеюсь, что "ответ" тем не менее поможет.


0

В моем случае это был доступ к папке, где я находился во время выполнения команды! В Windows я сначала создал папку с помощью командной строки: mkdir «MyFolder», и у меня возникла ошибка. но если я создаю папку с помощью мыши, щелкните правой кнопкой мыши, создайте папку и т. д. Работает нормально!


0

Если вы аутентифицируетесь с помощью битбакета, я получаю ошибку 128 & Failed connect. но при использовании аутентификации git hub он работает нормально.


0

Я знаю, что это старый вопрос, но позвольте мне добавить еще одну вещь.

Иногда (если вы находитесь в офисе или в частной сети) брандмауэр вашего шлюзового сервера блокирует запросы https (порт 443) из командного терминала.

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

Используйте это, чтобы настроить git для использования http поверх https для этих ситуаций.


0

Это сработало для меня,

Скопируйте файл "libcurl.dll" в папку установки Git (C: \ Program Files \ Git \ bin \ libcurl.dll). Вставьте его в место, где существует git.exe (C: \ Program Files \ Git \ libexec \ git-core).


0

Выполните эти 2 команды, чтобы предоставить Git доступ через вашу систему.

eval `ssh-agent`
ssh-add ~/.ssh/id_rsa

Эти команды предполагают, что у вас есть ssh-ключ на удаленном сервере git (bitbucket / github / other)


0

Я тоже столкнулся с этой ошибкой и решил ее, обновив git. Когда я выполнил неудачную команду git ls-remote, основная ошибка заключалась в том, что использовалась старая версия tls. Итак, обновленная версия git использует более позднюю версию tls.

https://git-scm.com/download/win


0

Я обнаружил эту ошибку в своей ОС Linux. и я решаю эту проблему 1. откройте экспорт журнала curl GIT_CURL_VERBOSE = 1 2. clone git repo 3. найдите журнал 4. я исправляю проблему, обновляя nss и curl (yum update nss nss-util nspr curl)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.