2013-04-09 31 views
26

我们通过代理连接,在这里,git被封锁(不是网站,而是在git //:)我们试着用egit,“git on windows”,with和没有代理,但没有一个克隆到本地发生。git被封锁,如何安装npm模块

现在的问题是安装npm模块,我尝试通过从git网站(通过网络)下载模块(zip),并尝试本地安装,但是这里的问题依赖性很大,它不是易于逐个拉取模块以填充依赖关系(和内部依赖关系)

那么如何解决这个问题,我觉得可以有三种方式找到解决:

  • 允许通过防火墙git的隧道(我有N/W球队没有​​朋友)。
  • 建议我在执行npm install时通过http://(而不是git://)将模块依赖关系拉出来。
  • 从git网站模块下载+完全依赖,单一镜头。
+0

您是否尝试过通过HTTPS连接到GitHub上? git //:也被阻止,但我们可以通过https进行连接。对于[NPM安装](https://npmjs.org/doc/install.html)也给这个作为一个选项的文档。 – mickfold 2013-04-09 13:37:11

+0

@penfold SSH是一个很好的选择太 – 2013-04-09 14:07:11

+0

请问您代理需要认证? – laktak 2013-04-09 18:20:43

回答

60

从这个答案 https://stackoverflow.com/a/10729634/1095114


复制如果这是你的防火墙阻止git的一个问题:协议端口(9418),那么你应该做一个更持久的变化让你不必须记得发布其他职位为每个git回购建议的命令。这也适用于可能使用git://协议的子模块。

只需发出以下命令:

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

这只是增加了以下两行到〜/的.gitconfig:

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

现在,仿佛被施了魔法,所有的git命令将执行git://https://的替换

+1

我想这个电源控制台上,但它没有工作 – sij 2013-04-09 17:59:06

+1

谢谢,解决了我的问题,不可能得到的git://通过代理 – 2014-03-31 15:44:14

+0

我也有我的地方文件gitconfig没有被拾起问题因为我的主目录已安装。在运行混帐V2.8“混帐配置--list --show-出身”及以上的帮我找到的所有配置文件,并确保他们有设置相同的变量。 – WiteCastle 2016-11-08 15:58:35

1

Npm和git不使用您的Windows代理设置。

你可以配置它们:

set HTTP_PROXY=http://user:[email protected]:port 

另见https://superuser.com/questions/347476/how-to-install-npm-behind-authentication-proxy-on-windows


如果你不能让你的代理工作,就可以运行具有直接连接到Internet的机器上npm install(例如dmz中的服务器,您的托管服务提供商,云中的服务器等),然后将node_modules文件夹复制到本地计算机。

+0

试过这也,甚至与cntlm尝试,但未能:( – sij 2013-04-11 09:40:43

0

git代理设置为我克隆repos从github工作。 但是,当安装/更新使用git url的npm模块时,我仍然收到超时错误。对我来说,解决方法是在回购的.git/config文件中手动设置代理。

[http] 
    proxy = http://proxy.company.com:8888 

别急,还有更多:这工作了一段git的URL而不是其他。第二个,也是最后的解决方法是,以确保git的代理在两个用户配置文件设置,因为我的电脑有一个共享的网络用户家里我开车:

I:\.gitconfig 
C:\Users\<userid>\.gitconfig 

this comment