以前 Qiita に書いた記事のアップデート版1。
https://qiita.com/himarin269/items/adda54fc5dde3c908dba
毎回ググって設定しているので、備忘録としてまとめておきます。
※パスワード変更をしたらその都度設定しなおしが必要です(パスワードの定期変更強制やめてほしい)。
設定のしかた
Node.js
npmできるようにするための設定。以下のコマンドを実行します。
npm config set proxy http://<ユーザーID>:<パスワード>@<認証プロキシホスト名>:<ポート番号> npm config set https-proxy http://<ユーザーID>:<パスワード>@<認証プロキシホスト名>:<ポート番号>
Git
Gitも使えないと困るのであわせて設定。
git config --global http.proxy http://<ユーザーID>:<パスワード>@<認証プロキシホスト名>:<ポート番号> git config --global https.proxy http://<ユーザーID>:<パスワード>@<認証プロキシホスト名>:<ポート番号>
ほぼ同じですね。
ハマりポイント
認証プロキシのパスワードに%
が含まれているとうまくいきません。
%
の部分を%25
にしましょう。
Fiddler 併用の場合
Fiddler を使って認証プロキシを通過できるようにして使う場合は、もっと楽です。
まず以下の記事を参考に Fiddler で認証プロキシを越えられるようにします。
認証プロキシ非対応アプリケーションを、認証プロキシ環境下で動かす方法 - Qiita
※上記記事では Fiddler の種類や ScriptEditor について触れられていますが、現在は以下のページから本体を落とすだけで済みます。
Download Fiddler Web Debugging Tool for Free by Telerik
認証プロキシを越える設定をした Fiddler を起動した状態なら、Fiddler を経由する通信が認証プロキシを越えるようになるので、npm も Git も以下のように Fiddler のポート(デフォルト8888)を指定してあげればOK。
npm config set proxy http://127.0.0.1:8888 npm config set https-proxy http://127.0.0.1:8888 git config --global http.proxy http://127.0.0.1:8888 git config --global https.proxy http://127.0.0.1:8888
パスワード変更した際も Fiddler の設定を1か所変えるだけで済むので、断然楽です。
設定の消し方
設定をしていると認証プロキシ環境外で動かないので、環境が変わったら設定を消しましょう2。 これで消せます。
npm config rm proxy npm config rm https-proxy git config --global --unset http.proxy git config --global --unset https.proxy
消せるんですが、これを実行しても Git がうまくいかなかった…。
git config --global --list
も git config --local --list
もやって設定がないのを確認したのに、なぜか動きとしては古いプロキシ設定を見ちゃってる動きでした(なんでなのかは不明)。
しかたないので、
git config --global http.proxy "" git config --global https.proxy ""
で空の設定をして上書きしました。
2020/5/11 追記
うまくいかなかったのは Windows 環境変数 の HTTP_PROXY
, HTTPS_PROXY
が設定されてたからでした。これを消したら、空文字設定なしでいけました。
まとめ
認証プロキシとパスワード定期変更強制は悪。
とはいえ、そういった環境の中でも快適に過ごすために、設定を Fiddler で一本化しておくと管理含めて楽ですね。