Установка пакетов Atom с заблокированным портом git

Я пытаюсь установить плагин autocomplete-clang для атома. К сожалению, брандмауэр моей компании блокирует порт 9418, который используется протоколом git: //.

Я могу установить плагины, которые используют https: // URL для клонирования репозиториев и зависимостей git, но когда я пытаюсь установить autocomplete-clang, я получаю следующую ошибку:

npm WARN `git config --get remote.origin.url` returned wrong result (git://github.com/Kev/clang-flags.git) https://github.com/Kev/clang-flags.git
npm ERR! git clone git://github.com/Kev/clang-flags.git Cloning into bare repository '~/.atom/.apm/_git-remotes/git-github-com-Kev-clang-flags-git-1a523481'...
npm ERR! git clone git://github.com/Kev/clang-flags.git fatal: unable to connect to github.com:
npm ERR! git clone git://github.com/Kev/clang-flags.git github.com[0: 192.30.252.130]: errno=Connection timed out
npm ERR! Linux 3.11-2-amd64
npm ERR! argv "/usr/share/atom/resources/app/apm/bin/node" "/usr/share/atom/resources/app/apm/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/home/clement/.atom/.apm/.apmrc" "--userconfig" "/home/clement/.atom/.apmrc" "install" "/tmp/d-115117-10848-qhdhe7/package.tgz" "--target=0.21.0" "--arch=x64"
npm ERR! node v0.10.35
npm ERR! npm  v2.3.0
npm ERR! code 128

npm ERR! Command failed: Cloning into bare repository '~/.atom/.apm/_git-remotes/git-github-com-Kev-clang-flags-git-1a523481'...
npm ERR! fatal: unable to connect to github.com:
npm ERR! github.com[0: 192.30.252.130]: errno=Connection timed out
npm ERR! 
npm ERR! 
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     

npm ERR! Please include the following file with any support request:
npm ERR!     /tmp/apm-install-dir-115117-10848-1qirptl/npm-debug.log

Я попытался добавить это в свой gitconfig:

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

Я также перенаправил трафик с порта 9418 на порт 80

# iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 24948 packets, 4967K bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REDIRECT   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:9418 redir ports 80

но это не работает. Я что-то пропустил ? Как я мог обойти эту блокировку?


person Opera    schedule 17.02.2015    source источник


Ответы (1)


Попробуйте сначала, если вы не можете указать git постоянно использовать https вместо git:

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

OP Opera подтверждает в комментариях проблема, которую нужно связать с _ 2_ 106, связанный с npm/npm 5257:

apm не уважая git config --global url."https://".insteadOf git://

Opera добавляет:

Я отредактировал файл add-remote-git.js ( теперь содержащий код, упомянутый в atom/apm 106), и добавлен предложенный вызов замены в последнем комментарии.

person VonC    schedule 17.02.2015
comment
Это то, что я использовал для редактирования своего файла gitconfig. Просто попробовал еще раз, не работает. - person Opera; 17.02.2015
comment
@Opera, какую версию Git вы используете? - person VonC; 17.02.2015
comment
$ git --version git версия 1.8.5.1 - person Opera; 17.02.2015
comment
@Opera Это должно работать, если Atomio не использует внутри другой git (jgit? Libgit2?). Есть ли где-нибудь в этом инструменте .gitconfig? - person VonC; 17.02.2015
comment
Я нашел 2 других файла gitconfig в ~ / .npm / git-config / 0.0.6 / package / test / fixtures и ~ / node_modules / git-config / test / fixtures. Я отредактировал их, как показано в моем исходном вопросе. По-прежнему не работает. Та же ошибка. - person Opera; 17.02.2015
comment
@Opera yes Discussion.atom.io/t/ показывает, что это должно работать. - person VonC; 17.02.2015
comment
@Opera detect.atom.io/t/ объяснит проблему. Или обсудить.atom.io/t/build -atom-fails-windows-8-1 / 12072/2. - person VonC; 17.02.2015
comment
@Opera найдите cache.js, как указано в github.com/atom/apm/issues/ 106 - person VonC; 17.02.2015
comment
в npm / issues / 5257 также предлагается использовать git config --global url."https://github.com/".insteadOf [email protected]: - person wimh; 17.02.2015
comment
@Opera. Вы обнаружили проблему, например, в файле cache.js? - person VonC; 20.02.2015
comment
Я отредактировал файл add-remote-git.js (теперь содержащий код, упомянутый в github .com / atom / apm / issues / 106) и добавил вызов замены, предложенный в последнем комментарии. - person Opera; 20.02.2015