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

问题描述 投票:27回答:3

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

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

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

  • 允许git隧道通过防火墙(我在n / w团队中没有朋友)。
  • 在做npm安装时,建议我用一些方法在http://(而不是git://)上提取依赖项的模块。
  • 从git网站模块下载+完全依赖,一次性下载。
windows node.js github proxy npm
3个回答
60
投票

复制了这个答案https://stackoverflow.com/a/10729634/1095114


如果这是防火墙阻止git:protocol端口(9418)的问题,那么您应该进行更持久的更改,这样您就不必记住为每个git repo发出其他帖子建议的命令。这也适用于可能使用git://协议的子模块。

只需发出以下命令:

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

这只是将以下两行添加到〜/ .gitconfig:

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

现在,好像通过魔法,所有git命令将执行git://替换为https://


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


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


0
投票

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

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

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

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

积分兑换this comment

© www.soinside.com 2019 - 2024. All rights reserved.