勤務先で環境構築しようとしたらProxyがあって事あるごとにハマるのでメモしておきます
ハマったら増やします
ユーザ名/パスワード/URL/ポートは環境に合わせて変えてください
bash
proxy=http://USERNAME:PASSWORD@ADDRESS:PORT
export http_proxy=$proxy
export https_proxy=$proxy
# 特定のアドレスでProxyを使いたくない場合
export no_proxy=127.0.0.1,localhost
sudo
sudo
で何か処理する時、環境変数は引き継がれないのでProxy変数が使われません
昔は引き継がれましたが最近は引き継がれないようです
-E
オプションを使うと環境変数が引き継がれ、Proxy変数も引き継がれます
意外とこれをつけるだけでうまくいくこともあります
$ sudo -E hogehoge
Cygwin
シェルがbashならbashと一緒です
が、CygwinはWindowsのレジストリを読めるので設定値を持ってこれます
インターネットオプション->接続->LANの設定->プロキシサーバの設定値を読めます
proxy=`cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet\ Settings/ProxyServer 2>/dev/null`
export http_proxy=$proxy
export https_proxy=$proxy
gem
$ gem install パッケージ名 -r -p http://USERNAME:PASSWORD@ADDRESS:PORT
apm(Atom)
$ export ATOM_NODE_URL=http://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist
$ apm config set proxy "http://USERNAME:PASSWORD@ADDRESS:PORT"
$ apm config set https-proxy "http://USERNAME:PASSWORD@ADDRESS:PORT"
# 確認
$ apm config get https-proxy
$ apm config get proxy
環境変数のhttp_proxy
とhttps_proxy
にも設定すること
apt-key
sudo apt-key adv --keyserver-option http-proxy=http://USERNAME:PASSWORD@ADDRESS:PORT --keyserver hkp://KEYSERVER:PORT --recv-keys KEYSTRING
--keyserver-option
は--recv-keys
の前にあったほうがいいみたい
npm(Node.js)
$ npm config set proxy http://USERNAME:PASSWORD@ADDRESS:PORT
$ npm config set https-proxy http://USERNAME:PASSWORD@ADDRESS:PORT
Apache Maven
以下のどちらかまたは両方を設定することでプロキシ経由で利用できます
両方やっておけば安心
- 設定ファイル(settings.xml)を編集する
- 環境変数を設定する
settings.xml
Ubuntuにてapt-get
でmavenをインストールした場合、/usr/share/maven/conf/settings.xml
にグローバルの設定ファイルがあります。
~/.m2/settings.xml
にも記述可能です。
<proxies>
<proxy>
<id>ID(option)</id>
<active>true(or false)</active>
<protocol>http(or https)</protocol>
<username>USERNAME(option)</username>
<password>PASSWORD(option)</password>
<host>HOST</host>
<port>PORT</port>
<nonProxyHosts></nonProxyHosts>
</proxy>
</proxies>
環境変数
JAVA_OPTS
による指定と同じです