Ответ 1
Порт 22 заблокирован на моем компьютере. Как только я обнаружил, что блокировал его и открыл порт, я смог запустить сборщик cmd без каких-либо проблем.
Я использую Bower для установки нескольких библиотек. Для демонстрации здесь я устанавливаю бутстрап. Независимо от пакета, я получаю следующие ошибки:
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
Я попытался использовать следующее решение для удаления первой ошибки - которую я нашел из этого search:
git config --global url."https://".insteadOf git://
Однако это не работает и не выполняет никаких других решений, найденных на этой странице. В поисках решения для 2-й ошибки кажется, что установка имени пользователя /pwd для прокси-сервера решит проблему, если вы находитесь в корпоративной сети/за брандмауэром. Однако я не использую прокси-сервер, поскольку я нахожусь на своем домашнем ПК/сети (Windows 7 x64).
Спасибо!
EDIT: окно команды с ошибками:
Порт 22 заблокирован на моем компьютере. Как только я обнаружил, что блокировал его и открыл порт, я смог запустить сборщик cmd без каких-либо проблем.
Я знаю, что это не "исправление" проблемы, но вы можете использовать
git config --global url."https://".insteadOf git://
сообщить git использовать HTTPS вместо git, который разработал у меня установку зависимостей npm.
Вместо этого выполните следующую команду:
git ls-remote --tags --heads git://github.com/twbs/bootstrap.git
вы должны запустить эту команду:
git ls-remote --tags --heads [email protected]: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://
Я столкнулся с этим с моей корпоративной сетью.
Мне показалось странным, потому что я всегда использовал ssh для связи с git и никогда не имел проблемы.
Я пробовал https и не работал, поэтому добавил настройки прокси в git config и все было хорошо
git config --global http.proxy http://proxyuser:[email protected]:8080
git config --global https.proxy https://proxyuser:[email protected]:8080
И убедившись, что это сработало
git config --list
Кажется, что azsl1326 не использовал bower (git) по порту 9418 (git://), а затем сказал git использовать порт 22 (https://). Это все еще не удалось, но тогда открытие порта 22 получило желаемый результат.
Наиболее прямым решением является открытие порта 9418. Это порт, который использует протокол git://.
Перейдите в свою папку приложений и запустите эту команду
git config --global url. "https://".insteadOf "git://
"
Это должно исправить вашу проблему.
Возможно, вам нужно сгенерировать ключ ssh, чтобы вы были аутентифицированы с помощью github.
Эта ошибка связана с плохой конфигурацией вашего брандмауэра. Вы заметите, что собеседник пытается связаться с 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
Это должно сделать трюк.
Вы находитесь за брандмауэром?
Git не отображает конфигурацию прокси-сервера при его вызове, поэтому явно задайте переменные среды, например:
export HTTP_PROXY=http://username:[email protected]:port/
export HTTPS_PROXY=http://username:[email protected]:port/
Если ваш корпоративный прокси не нуждается в аутентификации, просто опустите бит username:[email protected]
в URL-адресах.
Это сработало для меня!
Если ваш деревенский блок github, например. Китайский материк, тогда вы можете создать прокси-сервер, например. используйте goagent и gae, затем установите адрес прокси для git, например.
git config --global http.proxy 127.0.0.1:8087
Во-первых, вы должны проверить, распознает ли команда Visual Studio команду git: Инструменты > Командная строка
C: \.... \ > git
если эта команда не распознана, вы должны добавить папку git в переменные среды
fooobar.com/questions/59963/...
Это то, чего я отсутствовал, и помогло.
Надеюсь, что это поможет.
Я добавляю свой ответ здесь, так как это один из самых близких вопросов, которые соответствуют моей ситуации. Старался установить select2, а не bootstrap, но результат был тот же.
bower install select2
сообщил, что git не удалось найти каталог. Используется
git config --global url. "https://".insteadOf git://
config fix, но это привело к (перефразированной) ошибке
Я не могу использовать https
Моя проблема была решена неудовлетворительно, так как она включает в себя магию.
Я пытался запустить это в командной оболочке (cmd.exe, windows). Я выполнил ту же команду и запустил ее в powershell, и это сработало. ಠ_ಠ
tl; dr: комбинация https://и powershell работала для меня
Я получил эту ошибку после того, как моя антивирусная программа отправила на карантин загрузку с github.com. По неизвестной причине.
После очистки этих файлов (exe файлов) все сработало.
git config --global url. "https://".insteadOf "git://"
не работал у меня. Поэтому я нашел эту альтернативу:
Перейдите в папку temp. (т.е. если вы используете окна, тогда C:\Users\{username}\AppData\Roaming\bower\cache\packages
). Там вы можете увидеть несколько файлов. Откройте каждый из них, и вы увидите URL-адрес. Измените его с git://...
на https://...
и сохраните все файлы.
Теперь запустите bower install
.
Проверьте настройки конфигурации git (git config --global --edit
). В моем случае была пара более недействительных записей вроде:
[ядро]
gitproxy = gitproxy.cmd
[ "Https://" ]
[ "Https://" ]
[url "https://" ]
Пересмотрите их и удалите, если они вам больше не нужны.
Ваши ключи ошибочны. Просто добавьте их в GitHub/Bitbucket/все, что вы используете. Это не более чем проблема с вашими ключами.
Однако я не использую прокси-сервер, поскольку я нахожусь на своем домашнем компьютере/сети
Имел ту же проблему (получение кода выхода 128) в моей домашней сети и был совершенно уверен, что я не использовал прокси. Оказывается, Git сохранил прокси-сервер, в который я входил некоторое время в прошлом - после осмотра в конфигах я нашел его под тегом [http].
Я новичок в Git, и я совсем не уверен, если эти конфиги обычно легко доступны - я использую Tortoise Git, так как я ничего не делаю, и у меня есть GUI для вещей.
Надеюсь, что "ответ" тем не менее помогает.
В моем случае был доступ к папке, где я был во время выполнения команды! В Windows я создал папку сначала по командной строке: mkdir "MyFolder", и у меня была ошибка. но если я создам папку с помощью мыши, щелкните правой кнопкой мыши, создайте папку и т.д. Прекрасно работает!
Если вы выполняете аутентификацию с помощью bitbucket, где я получаю ошибку 128 и Failed connect. но при использовании аутентификации git концентратор работает нормально.
Я знаю, что это старый вопрос, в любом случае позвольте мне добавить еще одну вещь.
Иногда (если вы работаете в офисе или в частной сети), брандмауэр сервера шлюза блокирует запросы https (порт 443) из командной строки
git config --global url."http://".insteadOf "https://"
Используйте это, чтобы настроить git для использования http через https для этих ситуаций
Это сработало для меня,
Скопируйте файл libcurl.dll в папку установки Git (C:\Program Files\Git\bin\libcurl.dll). Вставьте его в место, где существует git.exe(C:\Program Files\Git\libexec\git -core).
Запустите эти 2 команды, чтобы предоставить git доступ через вашу систему
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
Эти команды предполагают, что у вас есть ssh-ключ на удаленном сервере git (битбакет/github/другой)