LoginSignup
14
17

More than 5 years have passed since last update.

IntelliJ IDEAでGo言語(golang)を始める〜GOPATHの設定など

Last updated at Posted at 2018-09-27

概要

新しくGo言語を始める時、どのような環境で書き始めるかいくつか選択肢があると思いますが、私はIntelliJが好きなのでIntelliJを使います。

Goは静的型付けでIDEとの相性が良く、IntelliJはオススメです。

難点はIDEの設定が必要になるところです。一度わかれば簡単ですが、はじめは苦労するかもしれません。
私の場合、自分が作成した別のファイル(パッケージ?)をインポートしようとした時にエラーが出てしまい、解決に苦労しました。

これから始める人が苦労しないように(そして私が解決方法を忘れないように)、ここに書き残します。

環境

  • macOS High Sierra
  • IntelliJ IDEA 2018.2.4(Ultimate)
  • go 1.11

手順

IntelliJインストール

Webからダウンロードしインストールします。詳細は割愛します。

Go言語インストール

Homebrewはインストール済みとします。

$ brew install go

IntelliJ設定

Goプラグインのインストール

下記のパスから見つけてください。

Preferences -> Plugings -> Install JetBrains plugin -> Go

設定

下記のパスから見つけてください。その配下にある、GOROOTとGOPATHを確認していきます。

Preferences -> Languages & Frameworks -> Go

GOROOT

初めから設定されているはずです。
私の場合は「Go 1.11(/usr/local/Cellar/go/1.11/libexec)」となっていました。このままでOKです。

GOPATH

重要: これを設定しないと、自分のプロジェクトのコードのインポートが失敗します。自分のプロジェクトがライブラリの探索パスに含まれない、といったほうが分かりやすいかもしれません。標準ライブラリは読み込めるけど、自分が書いたコードがインポートできない状態になります。

正しい設定かどうかは不明ですが、私はこれで動いた、というやり方を説明します。

まず、「Global GOPATH」を削除します。そして、「Project GOPATH」に自分のプロジェクト(IntelliJのプロジェクト)のパスを設定します。

ex. /Users/your_name/IdeaProjects/your_project_name

まだプロジェクトを作成していない場合は、先に作成してからでもいいでしょう。

このやり方で正しく動作しますが(もう少しだけ手順が続きますが)、一つ問題があります。複数のプロジェクトを扱う場合に、毎回この「Project GOPATH」を書き換える必要がある点です。

いろいろネット上の情報を調べましたが、解決方法が見当たりませんでした。

プロジェクト構成

your_project/
    - src/
        - package1/
            - foo.go
        - package2/
            - bar.go

"src"を忘れずに作成しましょう。"your_project"はIntelliJのプロジェクト名です。"src", "package1", "package2"は、IntelliJのUIから「New -> Package」で作成します。

foo.goにはpackage package1、bar.goにはpackage package2をコードに記述します。(ディレクトリ名に合わせます)

これで、例えばfoo.goからimport package2が成功し、bar.goの関数などが呼び出せるはずです。

備考

GOPATHとGOROOTが正しく設定されているか確認する

IntelliJのUIからTerminalのタブを開きます。そこでgo envを実行するとGOPATH、GOROOTを含む情報が表示されます。

Terminalは、私の場合は画面下部のRun, TODOのならびにありましたが、表示されていない人は、IntelliJの初期設定の際に無効にしたせいかもしれません。
「Preferences -> Plugins」から"Terminal"を探して、インストールされていなかったらインストールしましょう。

以上です。

14
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
17