どうも、趣味の開発でゴリゴリに使っていく所存のchan_gamiです。
新しい言語を勉強するときにまず時間をかけるのが開発環境構築ですよね。出来るだけ綺麗に、いつバージョンを上げても環境を削除しても問題がないように、クリーンに保ちたいものです。
macで環境を作るにあたり、いくつかの選択肢を検討したのでメモとして残しておきます。
目次
Go言語を直接インストールする
この選択をするのであれば、そもそも今回の件について考える必要がない気がします。考えてないで今すぐインストール!
Pros
- 最新バージョンがインストールできる
Cons
- アンインストールするときの手間が他と比較してかかりがち
Homebrew経由でGo言語をインストールする
Go言語は後方互換がしっかりしているのとGo言語自体でバージョンを複数インストールできるため、この選択肢はなかなかイイ線行ってるんじゃないかなーと思ってます。
https://golang.org/doc/manage-install#installing-multiple
Pros
- 最新バージョンがインストールしやすい (更新速度的な意味で)
- 環境を捨てやすい
Cons
- (必要があるかないかは置いておいて) 最初に入れているGo言語自体をダウングレードしにくい
Homebrew経由でgoenvをインストールしてgoenvから任意のバージョンのGo言語を使う
前述の通りGo言語自体でバージョン管理ができるので、node.jsなどのバージョン管理ツールよりも択の強みはない気がします。
https://qiita.com/totoro081295/items/65e5facb913289f2910b
Pros
- 環境を捨てやすい
- 他言語でのバージョン管理を使っていればすぐ使いこなせる
Cons
- 最新版のGo言語をインストールしにくい
⇒brew install goenv
でインストールしたgoenvからではなくbrew install --HEAD goenv
でインストールしなければ最新版のGo言語が使えない
⇒ ⇒--HEAD
でインストールした場合はアップグレードにはオプションを付与する必要があるbrew upgrade --fetch-HEAD goenv
⇒ ⇒ ⇒ 面倒くさい
IDE(統合開発環境)に頼る
GolandおよびIntelliJ IDEAについての感想ですが、最高です。
https://www.jetbrains.com/help/idea/quick-start-guide-goland.html#create-a-new-project
Pros
- GUIでポチポチするだけで環境が整う
Cons
go
コマンドがIDE経由でしか使えない (ただしIDE内のTerminalからはgo
コマンド使用可 )
最終的に選んだのは…IDE!
画面上の案内を見ながら好きなバージョンのSDKを選んでGOROOTを指定してインストール。run, buildをGUIで行うも良し。コマンドラインから行うも良し。というわけでIDE落ち着きました。ありがとうIntelliJ IDEA。
個人的な感覚ですが、1回目の環境設定は雑に済ませて慣れてきた頃に再構築するのが一番効率が良いです。補完も使ってコードを書けば、常にドキュメントを読みながら書いていっているようなもの。
やりたいことを実現しながら、他にどんなメソッド・関数があるかもチェックできちゃう魔法のツール、IDE。自分にあった書籍やオンラインコースが見つからない場合は、騙されたと思ってIDEを買ってみるのもアリでっせ。
https://www.jetbrains.com/idea/
https://www.jetbrains.com/go/
以上、ありがとうございました。