JetBrains IDEでプラグインがインストールできず、Mavenやpipが依存関係をダウンロードできず、Marketplaceが開かない場合、ネットワーク制限が原因である可能性が高いです。プロキシはこれを数分で解決します。この記事では、IDEの組み込みインターフェース、システム変数、設定ファイルを通じての設定方法を説明します。PyCharm、IntelliJ IDEA、WebStorm、GoLand、その他のJetBrains製品に対応しています。
IDEで開発者がプロキシを使用する理由
JetBrains IDEはネットワークに積極的にアクセスします:Marketplaceからプラグインをダウンロードし、インデックスを更新し、Maven Central、PyPI、npmなどのリポジトリから依存関係を引き出し、ライセンスを確認し、JetBrainsアカウントを通じて設定を同期します。これらのリクエストのいずれかがブロックされると、作業が遅くなるか、完全に停止します。
プロキシが必要な具体的な状況は以下の通りです:
- ファイアウォールのある企業ネットワーク。 多くの企業は、外部トラフィックを企業のプロキシサーバーを通じてのみ通過させます。IDEでの設定がないと、プラグインはインストールされず、依存関係はダウンロードされません。
- 地理的制限。 一部のリポジトリやCDNは地理的に制限されています。必要なロケーションのプロキシがこの制限を解除します。
- インターネットが制限されている国からの作業。 JetBrains Marketplace、GitHub Packages、Maven Centralに直接アクセスできない場合があります。
- ネットワークアプリケーションの開発とテスト。 特定のノードを通じてIDEのトラフィックをルーティングし、他の地域からのアプリケーションの動作を確認する必要があります。
- 公共のネットワークでのセキュリティ。 カフェやコワーキングスペースから作業する場合、プロキシはIDEのトラフィックを暗号化し、トークンやキーを盗聴から保護します。
- 制裁制限の回避。 2022年以降、一部の外部リポジトリやサービスはIPによる制限を導入しました。プロキシを使用することで、ツールを変更せずに作業を続けることができます。
ブラウザとは異なり、プロキシは一度設定すればグローバルに機能しますが、JetBrains IDEではプロキシを個別に設定する必要があります。時には、IDE自体、依存関係マネージャー、言語インタープリターの複数の場所で設定が必要です。それぞれのレベルを順に見ていきましょう。
JetBrains用のプロキシの種類
JetBrains IDEは、HTTP、HTTPS、SOCKS5の3種類のプロキシをサポートしています。ほとんどの開発者のタスクにはHTTP/HTTPSプロキシが適しており、これらはIDE、Maven、Gradle、pipのすべてのリクエストで透過的に機能します。SOCKS5はより柔軟性があり、TCPレベルで動作するため、非標準プロトコルに便利です。
| プロキシの種類 | IDEでのサポート | 適している用途 | 特徴 |
|---|---|---|---|
| HTTP/HTTPS | ✅ ネイティブ | プラグイン、依存関係、ライセンス | 最も簡単に設定できる |
| SOCKS5 | ✅ ネイティブ | 任意のTCP接続 | 認証をサポート |
| PACファイル | ✅ システム設定を通じて | 企業ネットワーク | 柔軟なルーティング |
| システムプロキシ | ✅ 自動検出 | すでにOSで設定されている場合 | 追加設定は不要 |
企業プロキシを使用している場合、HTTP/HTTPSでユーザー名とパスワードによる認証が必要です。ブロックを回避するために外部プロキシサービスを接続する場合は、データセンターのプロキシに注目してください。これらは高い速度と安定性を提供し、大きな依存関係やインデックスをダウンロードする際に重要です。
IDEインターフェースを通じたプロキシ設定(HTTP/HTTPS)
これは最も簡単で推奨される方法です。設定はIDEのすべてのネットワークリクエストに適用されます:Marketplace、更新、ライセンス確認、プラグインの同期。手順はPyCharm、IntelliJ IDEA、WebStorm、GoLand、Rider、CLionなどの製品で同じです。
ステップ1. IDEの設定を開く
WindowsおよびLinuxの場合: File → Settings(またはCtrl+Alt+S)。
macOSの場合: PyCharm → Preferences(またはCmd+,)。
ステップ2. プロキシセクションを見つける
左側の設定パネルで、次のパスに移動します: Appearance & Behavior → System Settings → HTTP Proxy。
または、設定検索バーにproxyと入力を開始すると、IDEが必要なセクションをすぐに表示します。
ステップ3. プロキシの種類を選択し、情報を入力する
HTTP Proxyセクションでは、3つのオプションが表示されます:
- No proxy — 直接接続(デフォルト)。
- Auto-detect proxy settings — IDEはOSから設定を取得します。
- Manual proxy configuration — 手動設定。これを選択します。
手動プロキシ設定を選択した場合は、次のフィールドを入力します:
- Host name — プロキシサーバーのIPアドレスまたはドメイン。例:
proxy.example.comまたは192.168.1.100。 - Port number — プロキシのポート。標準値:
8080、3128、8888。 - No proxy for — 直接接続するホスト(プロキシなし)。通常、
localhost、127.0.0.1、企業の内部ドメインを追加します。 - Proxy authentication — プロキシがユーザー名とパスワードを必要とする場合、チェックを入れて認証情報を入力します。
ステップ4. 接続を確認する
Check connectionボタンをクリックし、任意のURLを入力します。例えば、https://plugins.jetbrains.com。すべてが正しく設定されていれば、IDEはConnection successfulのステータスを表示します。その後、OKをクリックし、IDEを再起動します。
💡 ヒント
JetBrains IDEのHTTP Proxy設定はグローバルに保存され、すべてのプロジェクトに適用され、再起動間で保持されます。異なるタスクのためにプロキシを切り替える必要がある場合は、以下に説明するシステム環境変数を使用する方が便利です。
JetBrains IDEでのSOCKS5プロキシの設定
SOCKS5は、HTTP/HTTPSだけでなく、任意のTCP接続でも動作するより柔軟なプロトコルです。これは、プロキシプロバイダーがSOCKS5を提供している場合や、SSHトンネルを使用している場合に便利です。
JetBrains IDEのインターフェースでは、SOCKSセクションは同じ場所にあります:Appearance & Behavior → System Settings → HTTP Proxy。Manual proxy configurationブロックで、ラジオボタンをHTTPからSOCKSに切り替えます。
HTTPプロキシと同様にフィールドを入力します:
- Host name — SOCKS5サーバーのアドレス。
- Port number — ポート(通常は
1080または1081)。 - Proxy authentication — 必要な場合はユーザー名とパスワード。
重要な点:JetBrains IDEの組み込みSOCKSクライアントはJVMレベルで動作し、IDEがJavaを介して直接確立する接続のみをキャッチします。外部プロセス(Maven Wrapper、Gradle Daemon、pip、npm)は独立したプロセスとして起動され、IDEのインターフェースからプロキシ設定を継承しません。これらには別の設定が必要です(以下のセクションを参照)。
JVMパラメータを通じた設定(vmoptions)
インターフェースを通じた設定が機能しない場合(たとえば、特定のIDEバージョンや非標準プラグインを使用している場合)、JVMパラメータを介してプロキシを直接指定できます。これは信頼性の高い低レベルの方法で、すべてのJVM接続に確実に適用されます。
vmoptionsファイルを開く方法
IDEのメニューで次のように移動します:Help → Edit Custom VM Options...。pycharm64.vmoptions(またはIntelliJ IDEAの場合はidea64.vmoptions)というファイルがユーザー設定ディレクトリに開きます。
HTTPプロキシ用に次の行をファイルの末尾に追加します:
-Dhttp.proxyHost=your.proxy.host -Dhttp.proxyPort=8080 -Dhttps.proxyHost=your.proxy.host -Dhttps.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password -Dhttps.proxyUser=username -Dhttps.proxyPassword=password -Dhttp.nonProxyHosts=localhost|127.0.0.1|*.local
SOCKS5プロキシ用には他のパラメータを使用します:
-DsocksProxyHost=your.socks.host -DsocksProxyPort=1080 -DsocksProxyVersion=5
ファイルを保存した後、IDEを再起動します。これらのパラメータはすべてのJVM接続に適用され、インデックスのダウンロード、プラグインの操作、組み込みGitクライアントを含みます。
⚠️ 重要
パスワードに特殊文字(@、#、%)が含まれている場合、URLエンコーディングでエスケープする必要があります。たとえば、@ → %40。そうしないと、JVMはパラメータを正しく解析せず、プロキシは機能しません。
システム環境変数を通じたプロキシ
この方法は特にLinuxやmacOS、CI/CD環境で便利です。環境変数はJVMだけでなく、子プロセスにも継承されます。つまり、Maven、Gradle、pip、npmも自動的にそれらを取得します。
HTTPプロキシ用の標準変数:
export HTTP_PROXY=http://username:[email protected]:8080 export HTTPS_PROXY=http://username:[email protected]:8080 export NO_PROXY=localhost,127.0.0.1,::1
これらの行を~/.bashrc、~/.zshrcまたは~/.profileに追加します。これにより、ターミナルを再起動し、IDEをそのターミナルから起動すると、環境変数が取得されます。
Windowsでは、システムインターフェースを通じて変数を設定します:
- コントロールパネル → システム → システムの詳細設定 → 環境変数を開きます。
- 「ユーザー環境変数」セクションで新規作成をクリックします。
HTTP_PROXYとHTTPS_PROXYという変数を、値としてhttp://username:[email protected]:8080を追加します。- IDEを再起動します。
注意:WindowsのJetBrains IDEは、ランチャーを介して別のプロセスとして起動され、現在のターミナルセッションで設定された環境変数がIDEに渡されない場合があります。より信頼性の高い方法は、システムインターフェースを通じて設定するか、vmoptionsファイルを使用することです。
IntelliJ IDEA内のMavenとGradle用のプロキシ
MavenとGradleは、それぞれ独自の設定ファイルを持つ別のツールです。IDEのインターフェースでプロキシが設定されていても、Maven WrapperやGradle Daemonはこれらの設定を無視する可能性があります。なぜなら、これらは独立したJVMプロセスとして起動されるからです。
Maven用のプロキシ
~/.m2/settings.xmlファイルを開き(存在しない場合は作成)、次のセクションを追加します:<proxies>:
<settings>
<proxies>
<proxy>
<id>main-proxy</id>
<active>true</active>
<protocol>https</protocol>
<host>proxy.example.com</host>
<port>8080</port>
<username>your_username</username>
<password>your_password</password>
<nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
</proxy>
</proxies>
</settings>
HTTPとHTTPS用にプロキシを別々に設定する必要がある場合は、異なる<proxy>ブロックを追加し、それぞれ異なるidとprotocolを設定します。
Gradle用のプロキシ
Gradleのプロキシ設定は、~/.gradle/gradle.propertiesファイル(グローバル)またはプロジェクトのルートにあるgradle.propertiesファイル(特定のプロジェクト用)で設定されます:
systemProp.http.proxyHost=proxy.example.com systemProp.http.proxyPort=8080 systemProp.http.proxyUser=your_username systemProp.http.proxyPassword=your_password systemProp.http.nonProxyHosts=localhost|127.0.0.1 systemProp.https.proxyHost=proxy.example.com systemProp.https.proxyPort=8080 systemProp.https.proxyUser=your_username systemProp.https.proxyPassword=your_password
ファイルを保存した後、IntelliJ IDEAは次回のGradleプロジェクトの同期時に新しい設定を自動的に取得します。Reload All Gradle Projectsボタンをクリックします(右側のGradleパネルの更新アイコン) — 依存関係がプロキシを介してダウンロードされ始めます。
PyCharmでのpipとconda用のプロキシ
PyCharmはPython開発者のための主要なIDEです。pipやcondaを介してパッケージをインストールする際、これらは独立したプロセスを介して行われ、PyCharmのインターフェースからプロキシ設定を読み取ることはありません。各パッケージマネージャーのためにプロキシを設定する方法は以下の通りです。
pip用のプロキシ
方法1 — パッケージインストール時のコマンドライン引数を介して:
pip install requests --proxy http://username:[email protected]:8080
方法2 — pipの設定ファイルを介して(常に適用されます)。ファイルを開くか作成します:
- Linux/macOS:
~/.config/pip/pip.conf - Windows:
%APPDATA%\pip\pip.ini
[global] proxy = http://username:[email protected]:8080
方法3 — 環境変数を介して(pipや他のPythonツールにも機能します):
export HTTP_PROXY=http://username:[email protected]:8080 export HTTPS_PROXY=http://username:[email protected]:8080
conda用のプロキシ
Condaは独自の設定ファイル.condarcを使用します。ホームディレクトリで開き、次のように追加します:
proxy_servers: http: http://username:[email protected]:8080 https: http://username:[email protected]:8080
または、PyCharmのターミナルで次のコマンドを実行します:
conda config --set proxy_servers.http http://proxy.host:8080 conda config --set proxy_servers.https http://proxy.host:8080
PyPIミラー(たとえば、Yandexのミラーや企業のNexus)を使用している場合、プロキシの代わりにpipを代替インデックスに切り替えることができます。しかし、ミラーも利用できない場合、プロキシが唯一の解決策となります。PyPIとの安定した作業には、レジデンシャルプロキシが適しています。これらは通常のユーザーリクエストのように見え、PyPIのCDNプロバイダーによってブロックされることはありません。
よくある問題とその解決策
正しい設定を行っていても、時々何かがうまくいかないことがあります。最も一般的な問題とその解決方法を見ていきましょう。
問題1: 「Connection refused」または「Unable to connect to proxy」
原因: ホスト、ポートが不正、またはプロキシが利用できない。
解決策: プロキシのアドレスとポートを確認してください。ターミナルでcurlを使用してプロキシに接続してみてください:
curl -x http://proxy.host:8080 https://plugins.jetbrains.com
curlも接続できない場合、問題はプロキシ自体にあり、IDEの設定ではありません。
問題2: プロキシが設定されているが、プラグインがインストールされない
原因: IDEが古い設定をキャッシュしているか、設定がすべてのコンポーネントに適用されていない。
解決策:
- IDEを完全に閉じます(プロセスがバックグラウンドで実行されていないことを確認してください)。
- キャッシュをクリアします:
File → Invalidate Caches → Invalidate and Restart。 vmoptionsファイルに競合するパラメータがないことを確認します。
問題3: プロキシを介したSSL/TLSエラー
原因: 企業プロキシがSSLインスペクション(MITM)を実行し、証明書を置き換えています。JVMは置き換えられた証明書を信頼しません。
解決策: システム管理者に企業CAのルート証明書を提供してもらい、Java KeyStoreにインポートします:
keytool -import -alias corporate-ca -keystore $JAVA_HOME/lib/security/cacerts \ -file corporate-ca.crt -storepass changeit
JetBrains IDEには組み込みのツールがあります:Settings → Tools → Server Certificates — ここでGUIを介して信頼できる証明書を追加できます。
問題4: 認証付きプロキシがパスワードを受け付けない
原因: パスワード内の特殊文字がエスケープされていないか、プロキシがNTLM/Kerberos認証を使用している(Microsoftの企業プロキシ)。
解決策: NTLMプロキシの場合、JVMはネイティブにサポートしていますが、追加のパラメータを指定する必要があります:
-Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.http.auth.proxying.disabledSchemes=""
問題5: IDE内のGitがプロキシを介して動作しない
原因: JetBrainsの組み込みGitクライアントはシステムGitを使用しており、JVM接続ではありません。IDEのプロキシ設定は影響しません。
解決策: Gitに直接プロキシを設定します:
git config --global http.proxy http://username:[email protected]:8080 git config --global https.proxy http://username:[email protected]:8080
| 症状 | 考えられる原因 | 修正方法 |
|---|---|---|
| プラグインがインストールできない | IDEでプロキシが設定されていない | Settings → HTTP Proxy |
| Mavenが依存関係をダウンロードしない | settings.xmlに設定がない | ~/.m2/settings.xml → proxies |
| pipがパッケージをインストールしない | pipがIDEの設定を読み取らない | pip.confまたはENV変数 |
| SSLエラー | プロキシでのMITMインスペクション | 企業証明書のインポート |
| Gitがプロキシを介して動作しない | GitがJVMの設定を読み取らない | git config --global http.proxy |
| Gradleが同期しない | gradle.propertiesに設定がない | ~/.gradle/gradle.properties |
結論
JetBrains IDEでのプロキシ設定は、1つのボタンではなく、複数の設定レベルがあります。覚えておくべきことは、IDE自体(プラグイン、ライセンス、Marketplace)は、Settings → HTTP ProxyまたはvmoptionsのJVMパラメータを介して設定されます。依存関係マネージャー(Maven、Gradle、pip、conda)は、それぞれの設定ファイルで別途設定が必要です。IDE内のGitは、グローバルgit configを介して設定されます。
地理的制限や企業ネットワークの制限を回避するためにプロキシを使用する場合、安定して高速なプロキシサーバーを選ぶことが重要です。リポジトリ、Marketplace、依存関係のダウンロードには、データセンターのプロキシが適しており、高速で遅延が少ないため、大規模なプロジェクトの同期において重要です。サーバーIPをブロックするサービスとの最大の互換性が必要な場合は、レジデンシャルプロキシを検討してください。これらは実際のユーザーアドレスを使用し、CDNやリポジトリの保護システムにほとんど疑念を抱かせません。
```