Помилки 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).

Дякую!

EDIT: Командне вікно з помилками:

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



мала подібну проблему з npmі https, вирішена за допомогоюgit config --global url."git@github.com:".insteadOf "https://github.com"
grabantot

Відповіді:


123

Я знаю, що це не "вирішення" проблеми, але ти можеш використати

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

сказати git використовувати HTTPS замість GIT, який працював для мене для встановлення залежностей npm.


9
Це лише я, чи це насправді не працює для когось іншого? Це найвищий результат в google практично для всіх пошуків, що стосуються помилок bower 128, і після зміни цього налаштування bower все ще використовує протокол git.
Кривавий

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, але не впевнений, що це спрацьовує - див. Зображення, яке я додав в оригінальному дописі. Помилки все ще трапляються незалежно від того, який пакет встановлення я намагаюся.
azsl1326

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 був заблокований на моєму комп'ютері. Як тільки я виявив, що це блокує, і відкрив порт, я зміг запустити cmd bower install без жодних проблем.


Мене не розблокував ні порт 22, ні 9418, відкриваючи вхід / вихід для tcp / udp.
kayleeFrye_onDeck

6

Здається, azsl1326 не вдалося використати bower (git) через порт 9418 (git: //), а потім наказав git використовувати порт 22 (https: //) замість цього. Це все ще не вдалося, але тоді відкриття порту 22 отримало бажаний результат.

Найбільш пряме рішення - відкрити порт 9418. Це порт, який використовує протокол git: //.


1
Я думаю, що це повинен бути прийнятий відповідь, оскільки це явно git-порт 9418 заблокований брандмауером. Принаймні так було на моєму сервері CentOS з брандмауером CSF.
Christos Lytras

Мене не розблокував ні порт 22, ні 9418, відкриваючи вхід / вихід для tcp / udp.
kayleeFrye_onDeck

Де знаходиться ваш віддалений репо? Чи є на цьому сервері ці порти відкритими?
Генрі

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

Ця помилка пов’язана з неправильною конфігурацією вашого брандмауера. Ви помітите, що Бауер намагається зв'язатися з 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: //

виправлення конфігурації, але це призвело до (перефразованої) помилки

Я не можу використовувати https

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

Я намагався запустити це в командній оболонці (cmd.exe, windows). Я запустив ту саму команду і запустив її в PowerShell, і вона спрацювала. ಠ_ಠ

tl; dr: комбінація https: // та PowerShell спрацювала у мене


0

Я отримав цю помилку після того, як мій засіб перевірки вірусів завантажив із github.com у карантин. З якоїсь невідомої причини.

Після того, як я очистив ці файли (exe-файли), все запрацювало.


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

не працював у мене. Тож я знайшов цю альтернативу:

Перейдіть до папки temp. (тобто якщо ви використовуєте вікна тоді C:\Users\{username}\AppData\Roaming\bower\cache\packages). Там ви можете побачити кілька файлів. Відкрийте кожен із них, і ви побачите URL-адресу. Змініть його git://...на https://...та збережіть усі файли.

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


або просто запустіть bower cache cleanзамість цього.
нічна ніч

0

Перевірте свої налаштування git config ( git config --global --edit). У моєму випадку було кілька недійсних записів, таких як:

[ядро]
gitproxy = gitproxy.cmd
["https: //"]
["https: //"]
[url "https: //"]

Перегляньте їх і видаліть, якщо вони вам більше не потрібні.


0

Ваші ключі помилкові. Просто додайте їх у GitHub / Bitbucket / все, що ви використовуєте. Це не що інше, як видача дозволів на ваші ключі.


0

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

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

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

Сподіваюся, "відповідь" все ж допоможе.


0

У моєму випадку був доступ до папки там, де я знаходився під час виконання команди! У Windows я створив папку спочатку за допомогою командного рядка: mkdir "MyFolder", і у мене сталася помилка. але якщо я створюю папку за допомогою миші, клацніть правою кнопкою миші, створіть папку тощо. Чудово працює!


0

Якщо ви проходите автентифікацію за допомогою bitbucket, де я отримую помилку 128 і не вдалося підключитися. але при використанні автентифікаційного 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 os. і я вирішую цю проблему 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.