我目前正在将Chocolatey与Ansible结合使用,将大量应用程序部署到混合的Windows / Linux环境中。
所有Windows计算机,一个正在作为服务器核心安装运行,并且对于除安装了GUI的计算机之外的所有计算机,Chocolatey将不会安装任何应用程序,因为它无法使用代理。
我使用netsh设置了代理环境变量:
PS C:\Windows\system32> netsh winhttp show proxy
Current WinHTTP proxy settings:
Proxy Server(s) : http://aaa.bbb.ccc.ddd:3128
Bypass List : <local>;localhost;127.0.0.1;172.16.*;192.168.*;*.domain.local;
同样在%APPDATA%\NuGet\NuGet.Config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="HTTP_PROXY" value="http://aaa.bbb.ccc.ddd:3128" />
</config>
</configuration>
但是,当Powershell脚本脚本调用$ webclient = new-object System.Net.WebClient时,此对象的proxy元素不返回任何内容:
PS C:\Windows\system32> $webclient = new-object System.Net.WebClient
PS C:\Windows\system32> $webclient.Proxy
Credentials
-----------
我发现如果我手动强制函数/ Get-Headers.ps1和函数/ Get-webFiles.ps1中的代码使用代理然后安装工作,但这不是解决问题的一个很好的解决方法我的Ansible任务现在已修复为特定版本的chocolatey,我知道该解决方法有效。
有没有人可以尝试其他任何想法/解决方案?
答案 0 :(得分:1)
Choco系列0.9.9+是完全重写的,并没有实现所有的东西,包括你在IE中设置的代理支持。
观看问题https://github.com/chocolatey/choco/issues/243,了解它何时可用。
更新:代理支持现在在Chocolatey中 - 请参阅https://github.com/chocolatey/choco/wiki/Proxy-Settings-for-Chocolatey
答案 1 :(得分:1)
先运行
choco config set proxy http://proxy_host:proxy_port
答案 2 :(得分:0)
我在2018年11月尝试了此操作
因此,安装和运行Chocolatey需要三个步骤:
您需要从以下位置手动下载安装文件:
您需要执行以下任一操作:
一种。编辑ps1文件或
b。您的环境变量。
您需要具有以下变量:
$env:chocolateyProxyLocation = "http://USER:PASSWORD@http://USER:PASSWORD@IP_ADDRESS:PORT
$env:chocolateyProxyUser = "USER"
$env:chocolateyProxyPassword = "PASSWORD"
THEY MUST BE AS THEY ARE ABOVE with USER:PASSWORD@PROXY_LOCATION:PORT format.
您必须调用本地脚本!!!不是在线的,例如:
file:///E:/softwares/chocolate_install_script/install.ps1
致电以下内容:
C:\ WINDOWS \ system32> @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('file:///E:/softwares/chocolate_install_script/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
之后,您需要执行以下操作:
choco config set proxy http://USER:PASSWORD@IP_ADDRESS:PORT
choco config set proxyUser bob
choco config set proxyPassword 123Sup#rSecur3