perlbrewをproxy環境下でインストールする方法

全国1億2千万の虐げられたネットワーク環境に置かれている皆さんのために、proxy環境化でperlbrewをインストールする方法を書きます。


まず前段。
proxy環境化でwgetをやるには、環境変数http_proxyにproxyサーバのURLを指定する。
shellがbashだったらこう。

export http_proxy="http://プロキシサーバー名:ポート/"

wgetでproxyを指定する。 | Rutakeの技術メモ
curlの場合は、コマンドの中で指定する。

$ curl --proxy "http://プロキシサーバ名:ポート/" "ダウンロード対象ファイルURL"

http://www.hcn.zaq.ne.jp/___/unix/curl_manual.html


本題。perlbrew。
普通の環境であれば、このワンライナーでインストールできます。

$ curl -kL http://xrl.us/perlbrewinstall | bash

http://www.perlbrew.pl/
このワンライナーは、perlbrewinstallというシェルを落としてきて、bashで実行してるんです。
が、このシェルの中でcurlを使っているところがあって、そこでproxyを通してないためエラーになる。


ではどうするか。
いったんシェルをローカルに落として、中のcurlコマンドをproxyを通すように書き換える。
まずはインストールシェルのダウンロード。wgetで取得します。curlでもいいです。

$ wget http://xrl.us/perlbrewinstall

perlbrewinstall がカレントディレクトリにできます。
これをviで編集し、19行目を以下のように変更します。

  PERLBREWDOWNLOAD="curl -k -f -sS -Lo $LOCALINSTALLER $PERLBREWURL"

  PERLBREWDOWNLOAD="curl --proxy "http://プロキシサーバ名:ポート/" -k -f -sS -Lo $LOCALINSTALLER $PERLBREWURL"

そしてシェルを実行。

$ bash perlbrewinstall

はいできました。