社員ブログ
HOME  社員ブログ
ホーム > Windows, 社員:ピーター > プロキシ認証が必要な環境でChocolateyを使う方法

プロキシ認証が必要な環境でChocolateyを使う方法

2015年01月18日 14時32分09秒

こんにちは、ピーターです。

プロキシ認証が必要な環境で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をインストールします。

  1. install.ps1をローカルに保存します。
  2. コード中の PROXYSERVER, PROXYPORT, USERPASSWORD, USERNAME を適宜修正します。
  3. 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 で検索して探しました。

Windows, 社員:ピーター

  1. コメントはまだありません