プロキシ環境下において yarn コマンド実行がうまくいかない場合の対応方法について


はじめに

この記事は以下の環境、前提でyarnコマンドを実行しようとする方のための情報です。

  1. パッケージマネージャとしてyarnを使っている(そもそも)
  2. プロキシ環境化でyarnコマンドを実行する
  3. プロキシサーバの認証が必要である
  4. 認証情報に記号( "\" や "@" など)が入っている

自宅などの環境で自由に開発できる環境があればいいですが、企業など、プロキシ環境で開発・検証をしないといけない場合、認証情報をconfigとして設定する必要があります。また、とくに認証情報に記号が入っているとうまく行かないため、備忘を目的として記載しました。

yarn のバージョン

今回本投稿で前提としているバージョンです。

$ yarn --version
1.15.2

設定方法

プロキシ環境化では、yarnコマンドに対して proxy の設定が必要です。
また、認証が必要な場合はホスト名の前にユーザ名、パスワードをつける必要があります。

【凡例】
username : 認証するためのユーザ名
password : パスワード
hostname : プロキシサーバ名
port : ポート番号

# httpの場合
$ yarn config set proxy http://username:password@hostname:port
# httpsの場合
$ yarn config set https-proxy http://username:password@hostname:port

なお、ドメイン名をつける場合やパスワードに記号( "\" や "@" など)が入っている場合は、URLエンコード(例えば "\" の場合、 "%5c" )する必要があります。

最後に

一度設定すると、しばらくは設定不要となるため本事象を忘れることが多く、久しぶりに新しい開発環境でセットアップすると、またエラーがでて対処方法をネットで調べることがあり、情報として残しました。
また、今回扱ったyarn以外にもプロキシがあるが故にエラーが起こることが見られますので、少しずつ残していこうと思います。