如何配置Chocolatey以使用公司代理?

时间:2015-12-14 09:43:31

标签: windows powershell authentication proxy chocolatey

我在公司代理服务器后面安装Chocolatey软件包时遇到问题。 Internet Explorer已正确配置,但我在使用Powershell时遇到问题。

我可以使用网络客户端下载页面,例如Microsoft.com,但最终Chocolatey无法通过提示下载软件包"请提供代理凭证:"不接受我的域名登录有效。有时我只是得到错误"异常调用" DownloadFile"用" 2"参数:"远程服务器返回错误:(407)需要代理验证。"

我有两台机器,其中一台可以正常下载软件包,另一台机器上面给出了错误,但它们都显示直接访问权限(如下所示):

PS C:\Windows\system32> netsh winhttp import proxy source=ie

Current WinHTTP proxy settings:

    Direct access (no proxy server).

PS C:\Windows\system32> netsh winhttp show proxy

Current WinHTTP proxy settings:

    Direct access (no proxy server).

我不太清楚这里发生了什么。有什么建议吗?

2 个答案:

答案 0 :(得分:5)

Chocolatey在https://github.com/chocolatey/choco/wiki/Proxy-Settings-for-Chocolatey处有代理说明,特别是显式代理部分。确保安装了正确版本的choco以使其正常工作。如果这不正确,我们应该修复文档/ choco以使其正确。

后人:

  

显式代理设置

     

Chocolatey从0.9.9.9开始有明确的代理支持。

     

您可以简单地配置1或3个设置,而Chocolatey将使用a   代理服务器。代理是必需的,是的位置和端口   代理服务器。 proxyUser和proxyPassword是可选的。的值   用户/密码仅在两者都存在时用于凭证。

choco config set proxy <locationandport>
choco config set proxyUser <username>
choco config set proxyPassword <passwordThatGetsEncryptedInFile>
  

实施例

     

在0.9.9.9中运行以下命令:

choco config set proxy http://localhost:8888
choco config set proxyUser bob
choco config set proxyPassword 123Sup#rSecur3

答案 1 :(得分:0)

我有一个类似的问题,只是由于公司代理原因,Chocolately不会首先安装。

能够基于this blog post来解决此问题,如下所示:

  1. 打开提升权限的命令提示符(Windows键->输入cmd->右键单击“命令提示符”,然后选择“以管理员身份运行”)
  2. 运行以下命令:@powershell -NoProfile -ExecutionPolicy Unrestricted -Command "[Net.WebRequest]::DefaultWebProxy.Credentials = [Net.CredentialCache]::DefaultCredentials; iex ((New-Object Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin
  3. 这应该安装Chocolatey,而不会出现任何错误。要验证它是否有效,请关闭命令提示符并打开另一个命令提示符(以便拾取路径环境变量更改),然后运行choco命令-如果一切正常,则现在应该输出Chocolatey版本和帮助文本。

有关node.js的其他说明:我在安装Node.js之后做了上述操作,并勾选了安装其他工具/要求(包括Chocolatey)的选项。然后可以通过Apps&features-> Node.js-> Modify继续失败的安装。然后,我按照说明here为公司代理配置npm。