在 git 端口被阻止的情况下安装 Atom 包

Installing Atom packages with git port blocked

我正在尝试为 atom 安装 autocomplete-clang 插件。不幸的是,我公司的防火墙阻止了 git:// 协议使用的 9418 端口。

我可以安装使用 https:// URL 克隆 git 存储库和依赖项的插件,但是当我尝试安装 autocomplete-clang 时,出现以下错误:

npm WARN `git config --get remote.origin.url` 返回错误结果 (git://github.com/Kev/clang-flags.git) https://github.com/Kev/clang-flags.git
错误! git 克隆 git://github.com/Kev/clang-flags.git 克隆到裸存储库 '~/.atom/.apm/_git-remotes/git-github-com-Kev-clang-flags-git-1a523481'。 ..
错误! git 克隆 git://github.com/Kev/clang-flags.git 致命:无法连接到 github.com:
错误! git clone git://github.com/Kev/clang-flags.git github.com[0: 192.30.252.130]: errno=连接超时
错误! Linux 3.11-2-amd64
错误! 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"
错误!节点 v0.10.35
错误! npm v2.3.0
错误!代码 128

错误!命令失败:克隆到裸存储库'~/.atom/.apm/_git-remotes/git-github-com-Kev-clang-flags-git-1a523481'...
错误!致命:无法连接到 github.com:
错误! github.com[0: 192.30.252.130]: errno=连接超时
错误!
错误!
错误!
错误!如果您需要帮助,可以在以下位置报告此错误:
错误!

错误!请在任何支持请求中包含以下文件:
错误! /tmp/apm-install-dir-115117-10848-1qirptl/npm-debug.log

我试图将其添加到我的git配置中:

[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 源目的地
    0 0 重定向 tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9418 重定向端口 80

但它不起作用。我错过了什么 ?我怎样才能绕过这个块?

如果您始终无法指示 git 使用 https 而不是 git,请先尝试:

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

OP Opera confirms the issue to be linked to atom/apm 106, related to npm/npm 5257:

apm not respecting git config --global url."https://".insteadOf git://

Opera 添加:

I edited the add-remote-git.js file (now containing the code that is referred to in atom/apm 106) and added the replace call suggested in the last comment.