2013-04-09 28 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