2013-02-20 68 views
2

試圖通過an npm wrapper安裝PhantomJS,同時在公司代理後面。我已經設置http_proxy和https_proxy環境變量,使故宮本身將能夠與註冊表進行通信:phantomjs npm安裝在代理後面失敗

export http_proxy=my-company-proxy.com:80 
export https_proxy=my-company-proxy.com:80 

但是,當它來到節點install.js phantomjs的階段,我得到了一個協議不受支持錯誤:

http.js:1711 
    throw new Error('Protocol:' + options.protocol + ' not supported.'); 
    ^
Error: Protocol:my-company-proxy.com: not supported. 

回答

1

的問題是,phantomjs NPM包裝代碼假定代理的信息是完整的URL,而不僅僅是一個主機名。這樣就解決了這個問題:

export http_proxy=http://my-company-proxy.com:80 
export https_proxy=http://my-company-proxy.com:80 

NPM,git的,等做工精細有兩種格式,但對於這個特殊的包裝,它需要HTTP_PROXY有一個完整的URL。

更新:this related issue已解決,現在它可以使用與npm本身相同的配置系統(例如,如果您使用npm config命令),而不是依賴環境變量。

+0

這個工作後,我也刪除HTTP_PROXY和HTTPS_PROXY(未設置HTTP_PROXY ...) – osundblad 2013-03-06 11:57:36

0

這是我工作的。

  1. 打開終端作爲管理員
  2. 導航到項目文件夾,然後輸入以下命令
  3. sudo npm config set proxy http://proxy_host:port -g然後
  4. sudo npm config set https-proxy http://proxy_host:port -g

希望這對你的作品。祝你好運。