背景
最近以下二つをよく使うようになった。
で、そうなってくると、デフォルトターミナルとしては、PowerShell をよく使うことになる。
自宅なら特に問題ないけれど、会社だとプロキシの設定をしていないと認証周りでエラーが出る。
しかも、プロキシーがおかしい!とか言って教えてくれるわけではなく・・
- Default Credential Error
- sam build 固まる
- SSL 異常
と、症状が色々出る。
で、いい加減、PowerShell 起動時の設定をするか、と思い立って調べた記録
結論
設定ファイル(プロファイル)の場所の確認
プロンプトで、$profile と打つと、パスが分かる
$profile
この Path 表示のところで、CTRL+Clickすれば、そのまま編集出来るので便利
基本は以下だと思われる
%userprofile%\ドキュメント\WindowsPowerShell
すべてのプロファイルのパスを確認したい場合
すべてって? ユーザーとホストの組み合わせで四種類あるのです・・詳しくはここへ
$PROFILE | Get-Member -Type NoteProperty
設定ファイル(プロファイル)への設定
パスが分かったら、後はファイルを作って設定記述するだけですね
何は無くとも、プロキシの設定
$proxy="http://10.20.30.40:8080"
$env:http_proxy=$proxy
$env:https_proxy=$proxy
$env:ftp_proxy=$proxy
設定したら、PowerShell を再起動して確認
Get-ChildItem env:*proxy
ちなみに、プロファイルの作成 PowerShell なんかが、以下に記載あったりしますけど・・
自動化を考えない限りは使わない・・かなぁ、とも
プロファイルで何設定するの?
こんなところ?
環境変数
モジュールのインポート: import *
エイリアス設定
小ネタ
プロファイル不適用にしたい場合
コマンドプロンプトなどで、"-NoProfile" オプションを付けて起動
powershell -NoProfile
エイリアスの確認
serverless のエイリアスである、sls が動かない場合とかなら
alias sl*
最初に躓いた話
起動時設定ファイルはどこに?
ここを見ると、以下のように、フォルダ名が古い?ままなので、フォルダがないままに動かねーって悩みました。
あと、VSCode 用の プロファイル名にもちょっと惑わされたり
あとがき
プロキシは、nvm/npm の .npmrc なんかもあるし・・ SourceTree でも躓くし、全部システム参照をデフォルトにしてくれないものか・・