概要
MacOSでGoLangの開発を快適に行う環境構築をまとめた記事です。
ツールとしては GoLand を利用します。
対象読者
- MacOSを所持している方
- Linuxコマンドの基礎を理解しMacのターミナル操作が出来る方
前提条件
Homebrew がインストールされている前提でお話させて頂きます。
筆者の実行環境
- MacOS Big Sur
- CPU 2 GHz クアッドコアIntel Core i5
- メモリ 32GB
GoLangをMac上にインストールする
最初に brew update
を実行してpackageを最新の状態にします。
続いて brew install go
を実行します。
go version
を実行し下記のように表示されれば成功です。
$ go version
go version go1.12.5 darwin/amd64
ちなみに複数のGoLangプロジェクトを運用していて各プロジェクト毎にバージョンが異なる場合は goenv 等を利用すると良いでしょう。
(参考)Mac に goenv を利用して Go をインストールする
MacOS上にGoをインストール一番の理由は後の説明で出てくる GoLand によるコード補完やリファクタリング機能を利用しやすくする為です。
Docker 等を利用してバージョンが異なる複数のGoLang実行環境を作る事はさほど難しくないので無理に goenv を利用しなくても良いというのが個人的な見解です。
GoLandをMac上にインストールする
JetBrains製のIDEです。
現時点ではこのGoLandを利用する方法が最も開発体験が良いという印象です。
一応 IntelliJ IDEA のGo Pluginを利用する方法でも、ほぼ同様の事が実現出来るので、そちらを使っても問題ありません。(使い方もほぼ同じです)
(参考)IntelliJ IDEAでGo言語(golang)を始める〜GOPATHの設定など
https://www.jetbrains.com/go/download/#section=mac よりダウンロードを行います。
インストール手順に関しては非常に簡単なので省略させて頂きます。(アプリケーションディレクトリにコピーするだけ)
GoLandの設定を行う
アプリケーションを起動します。
最初は設定がないと思いますので Do not import settings
を選び次に進みます。
エディタの設定
ここは好みの領域になってきますが、私がいつもやっている設定を書いておきます。
Preferences → Editor → General
- Remove trailing blank lines at the end of saved files - ON「行末の不要なスペースやタブを保存時に削除する」
- Ensure every saved file ends with a line break - ON「保存されたファイルの最後が改行で終わるようにする」
Preferences → Editor → General → Appearance
- Show line number - ON「行番号の表示」
- Show method separators - ON「メソッドの区切り線」
- Show whitespaces - ON「空白の表示」
GoLandにGOROOTを認識させる
この記事の通りにやっていれば /usr/local/Cellar/go/1.12.5/libexec
になります。
Go → GOROOTを選択すればサジェスト欄に出てくるので、それを選択します。
ただし goenv を利用しているとサジェストで出てこないので、 その場合は明示的に絶対パスを指定する必要があります。
下記の記事等を参考にすると良いでしょう。
(参考)GoLand のGOROOTにanyenv(goenv)内のgolangを指定する.
2019-09-10 追記
Go 1.13に対応する為に anyenv + goenv
でGoLangのインストールを行いました。
anyenv install goenv
exec $SHELL -l
goenv install 1.13.0
goenv global 1.13.0
which go
の結果は /Users/${username}/.anyenv/envs/goenv/shims/go
となっていますが、これはシンボリックリンクで実体は /Users/${username}/.anyenv/envs/goenv/versions/1.13.0
にありますのでGoLandからは実体のパスを設定してあげる必要があります。
2022-10-25 追記
最近は asdf
と asdf-go-sdk
を利用しているので、GOROOT
と GOPATH
は↓のような感じで設定しています。
これらの値に関してはプロジェクトルートで以下のようなコマンドで確認可能です。
go env GOROOT
/Users/ユーザー名/sdk/go1.17.13
go env GOPATH
/Users/ユーザー名/go
(参考記事)
https://zenn.dev/yacchi21/articles/dd6d41b50fa1be#fn-158e-1
動作確認
動作確認用のプロジェクトを下記に用意しました。
上記のプロジェクトを自身のPCにダウンロードします。
git clone https://github.com/keitakn/go-rest-api.git
プロジェクトのインポートを行います。
「Open Project」より先程 git clone
した動作確認用プロジェクトをインポートします。
Go Modulesを有効にする
このプロジェクトはGo Modulesをpackage管理として利用しています。
Go → Go Modules(vgo)からGo Modulesを有効にします。
プロジェクトルートで go build
を実行して下さい。
IDEでのコード補完が有効になった事を確認出来るかと思います。
おまけ1 目に優しいTheme(Solarized Theme)をインストールする
PCに向かう時間が長いとブルーライトで目に悪影響があるので、一番目に優しいと言われているカラーテーマであるSolarized Themeをインストールし設定します。
Plugins から Solarized Theme
と検索を行いインストールを行います。
Preferences → Appearance & Behavior → Appearanceから設定を行います。
こんな感じのThemeになります。
MacのNight Shift と組み合わせるとさらに目に優しくて良い感じです。
おまけ2 メモリ割当を増やす
PCのスペックに余裕がある場合は こちら を参考にメモリヒープを増やすと動作が快適になります。
またメモリインジケーターを有効にする事で、メモリの使用量を把握出来ます。(設定方法は こちら に記載があります。)
参考資料
以上になります。最後まで読んで頂きありがとうございました。