IntelliJ IDEA 2020.3 ヘルプ

Go モジュール

go get コマンドは、Go リポジトリのマスターブランチから依存関係の最新バージョンをダウンロードします。場合によっては、このアプローチは機能しません。例: サードパーティライブラリの異なるバージョンに依存する 2 つのプロジェクトがある場合。Go モジュール(旧称 vgo)を使用すると、プロジェクトごとに必要なライブラリバージョンをダウンロードしてインポートできます。Go モジュールの詳細については、blog.golang.org(英語) を参照してください。

Go モジュールを統合してプロジェクトを作成する

  1. ファイル | 新規 | プロジェクトを選択します。

  2. 新規プロジェクトページで、Go モジュールを選択します。

  3. 場所フィールドで、プロジェクトを保存するパスを指定します。

  4. GOROOT フィールドで、Go インストールの場所を指定します。通常、場所は自動的に定義されます。

    Go SDK の新しいバージョンを変更またはインストールするには、SDK の追加ボタンをクリックしてローカルを選択し、ハードドライブ上の Go SDK バージョンを選択するか、ダウンロードを選択して公式リポジトリから GoSDK をダウンロードします。Go SDK のインストールの詳細については、Go SDK のインストールを参照してください。

  5. GOROOT リストから、Go モジュールで使用する Go バージョンを選択します。

  6. 環境フィールドで、必要なすべての環境変数を指定します。例: GOPROXY 環境変数。環境変数の詳細については、環境変数のセクションを参照してください。

  7. 次へをクリックし、プロジェクト名を指定して、完了をクリックします。

    Download Go SDK

Go モジュールの使用

プロジェクトツールウィンドウ(表示 | ツールウィンドウ | プロジェクト)では、Go モジュールは完全なインポートパスとともに表示されます。各 Go モジュールのバージョンは、区別できるように、ミュートされたフォントの色で表示されます。

プロジェクトで Go モジュールを有効にする

新しい Go モジュールプロジェクトでは、すでに Go モジュールが有効になっています。Go モジュールプロジェクトを Github からプルした場合、Go モジュールを手動で有効にする必要があります。

  1. Ctrl+Alt+S を押して設定を開き、言語 & フレームワーク | Go | Go モジュールに移動します。

  2. Go モジュールの統合を有効にするチェックボックスを選択します。

  3. OK をクリックします。

開いた Go ファイルからの依存関係を同期する

  1. Go モジュールの統合が有効になっていることを確認します。Go モジュール統合を有効にする方法の詳細については、プロジェクトで Go モジュールを有効にするを参照してください。

  2. import セクションで依存関係をクリックし、Alt+Enter を押して、<project_name> の依存関係を同期を選択します。

go.mod からの依存関係を同期する

失われた依存関係をフェッチして、未使用の依存関係を削除できます。

  1. Go モジュールの統合が有効になっていることを確認します。Go モジュール統合を有効にする方法の詳細については、プロジェクトで Go モジュールを有効にするを参照してください。

  2. プロジェクトツールウィンドウ(表示 | ツールウィンドウ | プロジェクト)で、MOD ファイルをダブルクリックします。

  3. 依存関係の宣言をクリックします。

  4. Alt+Enter を押して <project_name> の依存関係を同期を選択します。

    Fetch a source with Go modules

依存関係の図を作成する

go.mod ファイルには、プロジェクトの依存関係がリストされています。このファイルを使用して、依存関係の図を作成できます。

開始する前に、プロジェクトが GOROOT にあることを確認してください。

  1. プロジェクトで Go モジュールを有効にします。

  2. プロジェクト内の go.mod ファイルを右クリックし、ダイアグラム | ダイアグラムの表示を選択します。

ベンダリングモードを切り替える

Go バージョン 1.13 以前ではベンダリングモードを切り替えることができます。Go 1.14 RC では、自動ベンダリングモードが組み込みの Go 機能になりました。

  1. Ctrl+Alt+S を押して設定を開き、言語 & フレームワーク | Go | GOROOT に移動します。

  2. GOROOT リストから、Go バージョン 1.13 以前を選択します。

  3. Go モジュールメニュー項目をクリックします。

  4. ベンダリングサポートを自動的に有効にするチェックボックスをオフまたは選択して、OK をクリックします。

    Automatic vendoring mode in Go 1.13 and earlier versions
  1. プロジェクトツールウィンドウ(表示 | ツールウィンドウ | プロジェクト)で、go.mod ファイルをダブルクリックします。

  2. 依存関係インポートパスをクリックし、移動 | 宣言または使用箇所 Ctrl+B をクリックします。

環境変数

環境変数は、アプリケーション実行パラメーターを設定する方法を提供します。環境変数には、依存関係のダウンロードに使用するプロキシサーバーのアドレス(GOPROXY)、プライベートと見なされるパッケージの名前(GOPRIVATE)、およびその他の値を格納できます。IntelliJ IDEA では、環境変数に次のテンプレートを使用できます。

  • GOPROXY : 依存関係のダウンロードに使用する必要があるプロキシサーバーを定義します。これらのプロキシサーバーは、go コマンドをトリガーするときに使用されます。golang.org でのモジュールのダウンロードと検証(英語)の GOPROXY の詳細を参照してください。

  • GOSUMDB : チェックサムデータベースの名前を識別します。チェックサムデータベースは、go.sum ファイルのパッケージが信頼できることを確認します。golang.org でのモジュール認証の失敗(英語)の GOSUMDB の詳細を参照してください。

  • GOPRIVATE : プライベートと見なされるパッケージをリストします。go コマンドは、これらのパッケージをダウンロードして検証するときに、GOPRIVATE またはチェックサムデータベースを使用しません。golang.org での非公開モジュールのモジュール構成(英語)の GOPRIVATE の詳細を参照してください。

  • GONOPROXY : プライベートと見なされるパッケージをリストします。go コマンドは、これらのパッケージをダウンロードするときにプロキシを使用しません。GONOPROXY は GOPRIVATE をオーバーライドします。

  • GONOSUMDB : プライベートと見なされるパッケージをリストします。go コマンドは、これらのパッケージの検証中にチェックサムデータベースを使用しません。GOPRIVATE をオーバーライドします。

  • その他 : 導入したい環境変数。例: Go モジュールキャッシュのデフォルトの場所を $GOPATH/pkg/mod からユーザー定義の場所(たとえば、$WORK/modcache )に変更する GOMODCACHE 環境変数を導入できます。

プロジェクトに環境変数を導入する

  1. 新しいプロジェクトを作成するときは、新規プロジェクトウィンドウで Go モジュールをクリックします。

    既存のプロジェクトの場合、Ctrl+Alt+S を押して設定を開き、言語 & フレームワーク | Go | Go モジュールに移動します。

  2. 環境フィールドで、フィールドの最後にある参照アイコンをクリックします。

  3. 環境変数ウィンドウで、追加ボタン( the Add button )をクリックし、追加するテンプレートを選択します。

環境変数テンプレートに関する情報を取得する

  • 環境変数ウィンドウで、変数を説明するボタン( the Explain variable button )をクリックします。

Go SDK のインストール

Go SDK のローカルコピーを選択する

Go SDK で提供されるフォルダーへのパスに bin および src フォルダーが含まれていることを確認してください。

  1. 新規プロジェクトダイアログで、Go モジュールを選択します。

  2. SDK の追加ボタンをクリックし、ローカルを選択します。

  3. ファイルブラウザーで、ハードドライブにある SDK のバージョンに移動します。

  4. 開くをクリックします。

    Download the Go SDK

Go SDK をダウンロードする

  1. 新規プロジェクトダイアログで、Go モジュールを選択します。

  2. SDK の追加ボタンをクリックしてダウンロードを選択します。

  3. バージョンリストから SDK のバージョンを選択します。

  4. 場所フィールドで、SDK のパスを指定します。ファイルブラウザーを使用するには、参照アイコン the Browse icon をクリックします。

  5. OK をクリックします。

    Download the Go SDK

生産性のヒント

go.mod ファイルのローカルパス内置換について通知する

変更をコミットする前に、IntelliJ IDEA は、go.mod ファイルのローカルパスを置き換えたという通知を表示できます。これは、これらの置換が誤ってコミットされた状況を回避できます。

  1. Ctrl+K を押します。

  2. コミットツールウィンドウ Alt+0 で、コミットオプションを表示アイコン( the Show Commit Options icon )をクリックし、コード解析を実行チェックボックスを選択します。

関連ページ:

制約とベンダリングを構築する

ビルド制約とベンダリングモードは、ビルドプロセスの微調整に使用できるツールです。ビルド制約を使用して、ファイルをパッケージに含めるルールを定義します。ベンダリングモードを有効にすると、プロジェクト内に格納されている依存関係パッケージでのみアプリケーションをビルドできます。そのため、パッケージに特定のファイルセットのみを含め、ローカルで変更またはパッチを適用した依存関係を使用できます。ビルド制約:ビルド制約またはビルドタグは、ファイルがパッケージに含まれる条件をリストする行コメントです。これらの

新規プロジェクトを作成する

複雑な依存関係管理を必要としないプロジェクトで作業する場合は、Go プロジェクトの作成を検討してください。それ以外の場合は、Go モジュールプロジェクトを作成するか、現在のプロジェクトで Go モジュールを有効にします。Go モジュールがない場合、ソースコードを GOPATH ディレクトリ(Go ワークスペース)に保存する必要があります。また、コマンドは依存パッケージを同じディレクトリにダウンロードするため、同じ依存パッケージの複数のバージョンをインストールすることはできません。Go プロジェクト...

Dep

Dep 統合を使用してプロジェクトを作成する Dep との統合により、プロジェクトの依存関係を管理できます。dep ディストリビューションをインストールします。を選択します。新規プロジェクトページで、Dep を選択します。場所フィールドで、プロジェクトを保存するパスを指定します。GOROOT フィールドで、Go インストールの場所を指定します。通常、場所は自動的に定義されます。Go SDK の新しいバージョンを変更またはインストールするには、SDK を追加ボタンをクリックしてローカルを選択し、ハードドラ...