アーカイブ
プロキシ認証が必要な環境でChocolateyを使う方法
こんにちは、ピーターです。
プロキシ認証が必要な環境でChocolateyを使うにはいろいろ作業が必要でした。
Windows 7, Chocolatey v0.9.8.31で確認しました。
Proxy Settings for Chocolatey ? chocolatey/chocolatey Wiki ? GitHub
https://github.com/chocolatey/chocolatey/wiki/Proxy-Settings-for-Chocolatey
こちらを参考にChocolateyをインストールします。
- install.ps1をローカルに保存します。
- コード中の PROXYSERVER, PROXYPORT, USERPASSWORD, USERNAME を適宜修正します。
- install.ps1を実行します。
これでChocolateyがインストールされます。
次に choco install package するために環境変数を設定します。
名前: 値
http_proxy: USERNAME:PASSWORD@PROXYSERVER:PROXYPORT
https_proxy: USERNAME:PASSWORD@PROXYSERVER:PROXYPORT
httpsにアクセスする場合もhttpのプロキシサーバーを使う場合はこのようにします。
http_proxy: http://USERNAME:PASSWORD@PROXYSERVER:PROXYPORT
https_proxy: http://USERNAME:PASSWORD@PROXYSERVER:PROXYPORT
環境変数を変更したらコマンドプロンプトを再起動します。
ここまでやっても choco install package するとエラーになります。
[ERROR] Exception calling “GetResponse” with “0” argument(s): “The remote server returned an error: (407) Proxy Authentication Required.”
そこでソースを直接修正します。
修正するファイル:
C:\ProgramData\chocolatey\chocolateyinstall\helpers\functions\Get-WebHeaders.ps1
C:\ProgramData\chocolatey\chocolateyinstall\helpers\functions\Get-WebFile.ps1
修正内容:
$creds = [Net.CredentialCache]::DefaultCredentials
↓
$passwd = ConvertTo-SecureString “PASSWORD” -AsPlainText -Force;
$creds = New-Object System.Management.Automation.PSCredential(“USERNAME”, $passwd);
※”PASSWORD”と”USERNAME”は適宜修正します。
これで choco install package できるようになります。
修正するファイルは C:\ProgramData\chocolatey\chocolateyinstall にある全ファイルを対象に proxy で検索して探しました。
最近のコメント