npm proxy 407エラーを解決する方法(Electronにも対応)

error 407 Proxy Authentication Requiredを解決する方法を教えていこう。

npm proxyを解決する

基本的に-gオプションはつけずnpm configを設定する。https-proxyについてはhttpとして、httpsでは設定しない

npm config set proxy http://{proxy-address}:{port}
npm config set https-proxy http://{proxy-address}:{port}
npm config set registry http://registry.npmjs.org
npm config set strict-ssl false
npm config set unsafe-perm true

proxy-addressとportは、Windowsキー→proxyと入力→プロキシの設定画面のアドレス、ポートの部分。https-proxyなんかは、Vue CLIでvue createするときなどに使う。

configが設定されているか、確認してみよう。

npm config list

つぎにユーザーの環境変数を設定していく。

ユーザーの環境変数を設定

そして、ユーザーの環境変数を設定。システム環境変数じゃないから注意しよう

変数名: HTTP_PROXY 変数値: http://{proxy-address}:{port}
変数名: HTTPS_PROXY 変数値: https://{proxy-address}:{port}

HTTPS_PROXYはhttpにsをつけてhttpsにしておくこと。

そうしないとGitなどでpushできなくなる。また、Pythonなどでpipを利用している場合も使うことになるから必ず設定しておこう。

Electronをインストールときは別設定も必要

Electronをインストールするときはつぎも設定する。

変数名: ELECTRON_GET_USE_PROXY 変数値: true
変数名: GLOBAL_AGENT_HTTPS_PROXY 変数値: https://{proxy-address}:{port}

まとめ: ストレスフリーにnpm installをしよう

npm config、環境変数どちらとも設定しておけばほとんどのnpm installに対応できる。

なるべくストレスフリーに。開発に集中できるように。プロキシがある場合は早めに設定しておこう。