為 npm 及 yarn 設定需驗證的 proxy

  1. npm 錯誤訊息

    • 使用 npm 安裝套件時出現 ETIMEDOUT 的錯誤,錯誤訊息中有提示可能是 proxy 的問題

    Error

  2. yarn 錯誤訊息

    • yarn 安裝時 Error 是 ETIMEDOUT
    • yarn 是使用 npm 設定

      Error

設定方式

  1. command line(Cmd.exe)

    • 包含需要認證的 proxy

      npm config set proxy http://UserName:password@proxyserver:proxyport
      npm config set https-proxy http://UserName:password@proxyserver:proxyport
      
    • 認證資訊包含 domain

      npm config set proxy http://domain%5CUserName:password@proxyserver:proxyport
      npm config set https-proxy http://domain%5CUserName:password@proxyserver:proxyport
      
    • 實測後非必要設定(如無法成功時仍可嘗試)

      npm config set strict-ssl false
      npm config set registry "http://registry.npmjs.org/"
      
  2. 直接修改 npm config(“C:\Users\username.npmrc”)

    • 包含需要認證的 proxy

      proxy=http://UserName:password@proxyserver:proxyport
      https_proxy= http://UserName:password@proxyserver:proxyport
      
    • 認證資訊包含 domain

      proxy=http://UserName:password@proxyserver:proxyport
      https_proxy= http://UserName:password@proxyserver:proxyport
      

    實測後非必要設定(如無法成功時仍可嘗試)

    strict-ssl=false
        registry=http://registry.npmjs.org/
    

    存檔後若未生效,請重啟 command line

  3. 檢視設定結果

    • 取得設定內容

      npm config get proxy
      npm config get https_proxy
      
    • 實測後非必要設定(如無法成功時仍可嘗試)

      npm config get registry
      npm config get strict-ssl
      
  4. 安裝套件時指定 proxy

    npm --proxy http://UserName:password@proxyserver:proxyport install -g  packagename
    
  5. 成功設定

    成功

參考資料

  1. 官方說明(http-proxy)
  2. 官方說明(npm-config)
  3. stackoverflow