git被阻止,如何安装npm模块

时间:2013-04-09 13:28:12

标签: windows node.js github proxy npm

我们通过代理连接,在这里, git被阻止(不是网站,但是在git //:)我们尝试使用egit,“git on windows”,有和没有代理但没有发生在当地的一个克隆。

现在的问题是安装npm模块,我尝试从git网站(通过web)下载模块(zip)并尝试本地安装,但有效但这里的问题是大量的依赖,它是不容易逐个拉出模块来填充依赖项(和内部依赖项)

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

  • 允许git隧道通过防火墙(我在n / w团队中没有朋友)。
  • 在做npm安装时,建议我通过http://(而不是git://)从依赖项中提取模块。
  • 从git网站模块+完整依赖项下载,一次性完成。

3 个答案:

答案 0 :(得分: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 :(得分:1)

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

您可以使用以下方式配置它们:

set HTTP_PROXY=http://user:pass@server.url:port

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


如果无法使代理工作,您可以在具有直接互联网连接的计算机上运行npm install(例如dmz中的服务器,托管服务提供商,云中的服务器等)和然后将node_modules文件夹复制到本地计算机。

答案 2 :(得分:0)

git代理设置适用于我从github克隆repos。 但是,在安装/更新使用git url的npm模块时,我仍然会收到超时错误。我的解决方法是在repo的.git/config文件中手动设置代理。

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

但是等等,还有更多:这适用于某些git网址,但不适用于其他网址。第二个也是最后一个解决方法是确保在两个用户配置文件中都设置了git代理,因为我的PC在我的驱动器上有一个共享网络用户主页:

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

this comment的信用。