Bower - fatal: невозможно подключиться к github.com

После обновления ember-cli на моем mac (Yosemite 10.10.2)

npm uninstall -g ember-cli
npm cache clean
bower cache clean
npm install -g [email protected]
....

или, может быть, после обновления Йосемити до 10.10.2, или после обновления моей Java до v8-32... мой bower больше не работает.

Если я попробую:

bower list

Я получаю сообщение об ошибке:

bower check-new Checking for new versions of the project dependencies..
bower ECMDERR Failed to execute "git ls-remote --tags --heads git://github.com/rwjblue/ember-cli-test-loader.git", exit code of #128

Additional error details:
fatal: unable to connect to github.com:
github.com[0: 192.30.252.128]: errno=Operation timed out

Но если я выполню:

git ls-remote --tags --heads git://github.com/rwjblue/ember-cli-test-loader.git

он работает:

git ls-remote --tags --heads git://github.com/rwjblue/ember-cli-test-loader.git
c6006a11515c756d115bb5209103a22c2e9554a0 refs/heads/master
929777f8b5c60db3120712c7328f5debdf74a0cd refs/tags/0.0.1
055d50f770ad333e7ead10ecb04605f951e2435b refs/tags/0.0.2
9defa2c59df38dcc334d6c1cc266075c04c2a4f6 refs/tags/0.0.3
a925b8fc428829ea3599e66eb0e6353726426356 refs/tags/0.0.4
c6006a11515c756d115bb5209103a22c2e9554a0 refs/tags/v0.1.0

Также работает любой git clone git://или http://, и я могу получить доступ к 192.30.252.128 по http.

Только в сочетании с bower он не работает. С npm у меня также нет проблем.

Что я пытался удалить и переустановить bower. Но это не решает проблему.

Следующая попытка:

.bowerrc

с:

{
   "directory": "bower_components",
   "analytics": false,
   "proxy": "",
   "https-proxy": ""
}

Следующая попытка:

.gitconfig

[url "https://"]
    insteadOf = git://

В результате:

Additional error details:
fatal: unable to access 'https://github.com/furf/jquery-ui-touch-punch.git/': Failed to connect to github.com port 443: Operation timed out

Я также попробую:

ssh -T [email protected]

чтобы добавить github.com в known_hosts.

Странная вещь:

ssh -T [email protected]
ssh: connect to host github.com port 22: Operation timed out

Попробуйте еще раз:

ssh -T [email protected]
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.

Поэтому иногда это срабатывает, а иногда и нет. Посмотрите https://status.github.com/ показывает, что все отлично с github.

Но почему я иногда получаю таймаут? Может быть, DNS-сервер отстает? Все другие соединения в порядке.

Также ping выглядит хорошо: Самое трудное время было

time=100.173 ms

за несколько минут, и я начинаю параллельно команде установки bower с тем же самым таймаутом, что и раньше.... но пинг продолжался и только с 100 мс.

Im также выходит из моих брандмауэров без результата.

У меня нет прокси-конфигураций.

Любая идея?

Обновление 09/02/2014

Im в настоящее время в Гамбурге, и здесь установка колокольчика отлично работает. Таким образом, это не проблема установки системы.

Обновление 12/02/2014

Вернувшись домой, он также работает без каких-либо изменений. Странно!

Ответ 1

Из этого потока npm: https://github.com/npm/npm/issues/5257#issuecomment-60441477

Попробуйте добавить следующее в ваш .gitconfig

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

Поскольку я нахожусь на машине под Windows, я также должен был убедиться, что c:\users\me\.gitconfig и один на моем измененном домашнем диске h:\.gitconfig были одинаковыми.

Ответ 2

Одно решение для требуемых модулей

Однако это решение не было протестировано против bower list (как и в моей ситуации), вам может быть препятствовать bower install из-за локальных политик окружающей среды. Здесь, что позволило мне использовать Bower - избавив меня от множества головных болей:

...
"dependencies": {
    "angular": "https://code.angularjs.org/1.3.15/angular.js",
    "jquery": "https://github.com/jquery/jquery.git#~2.1.4",
    "moment": "https://github.com/moment/moment.git",
    "underscore": "https://github.com/jashkenas/underscore.git#~1.8.3"
}
...

ИЛИ

bower install https://domain.ext/path/to/asset.ext -S

Вы можете получить ошибку, fatal: unable to connect to github.com: при попытке установить - это потому, что в некоторых средах bower не может разрешить протокол git://. Однако он разрешит http(s):.

Мое предложение:

  • Поиск Bower для пакета,
  • Перейдите в репозиторий git,
  • Скопируйте URI https git,
  • bower install https://.../author/module.git --save

Это сохранит (--save/-S) пакет в ваш файл bower.json с нотой #~n.n.n для пакетной версии.

Надеюсь, это поможет вам, ребята, как и я.

Ответ 3

Run

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

экономит много боли, особенно если вы находитесь за брандмауэром.