連載を通して簡単なブログアプリを作成しつつ Go/GAE について学んでいきます。
今回は GOPATH についての説明です。
- Part 1. 『GO / Cloud SDK のインストール』
- Part 2. 『GOPATH』 ← イマココ
- Part 3. 『プロジェクトの作成』
- Part 4. 『ディレクトリ構成』
- Part 5. 『Visual Studio Code』
- Part 6. 『Hello World』
- Part 7. 『リモートデバッグ』
- Part 8. 『デプロイ』
- Part 9. 『Makefile』
- Part 10. 『Circle CI』
- Part 11. 『Dependency Injection』
- Part 12. 『ローカルDB with Docker』
- Part 13. 『gorm』
- Part 14. 『Cloud SQL』
- Part 15. 『Cloud SQL Proxy』
- Part 16. 『HTML』
- Part 17. 『CSS/JS』
- Part 18. 『Google Analytics』
- Part 19. 『Google Search Console』
- Part 20. 『A/B テスト』
- Part 21. 『ユーザーの作成』
- Part 22. 『Firebase Auth』
- Part 23. 『記事の作成』
- Part 24. 『コメントの作成』
- Part 25. 『ページネーション』
GOPATH について
Go の開発は GOPATH と呼ばれるディレクトリ配下で行うことが標準的です。
GOPATH となるディレクトリの場所は自分自身で任意で決めて良いことになっていますが、 $HOME/go
をGOPATH に設定するのが一般的です。(Go 1.8+ ではデフォルトが $HOME/go
となっています。)
direnv 等のツールを用いてプロジェクトごとにカレントディレクトリを GOPATH に設定して開発を行うスタイルもありますが、今回は素直に $HOME/go
配下で開発を行います。
GOPATH 配下のディレクトリ構成は次のように定められています。
$GOPATH
├── bin
├── pkg
└── src
このディレクトリ構成を Node.js に例えると次のようになるかと思います。
- $GOPATH/bin はグローバルインストールした node_modules/bin が配置されるところ
- $GOPATH/pkg はビルドされたパッケージが配置されるところ (Nodeにはない概念)
- $GOPATH/src はグローバルインストールした node_modules と 自分のソースコードを配置するところ
src ディレクトリで実際に開発を行うことになりますが、src 直下にプロジェクトのルートディレクトリを配置するのではなく、ソースコードを管理しているリポジトリと紐づけて階層構造にするのが標準となっています。
$GOPATH
├── bin
├── pkg
└── src
└── [ホスティング先]
└── [ユーザ名 or 組織名]
└── [リポジトリ名] (ここがプロジェクトのルートディレクトリになる)
例えば GitHub をホスティング先にしている私の場合は次のようになります。
$GOPATH
├── bin
├── pkg
└── src
└── github.com
└── rema424
└── go-gae-blog-app-example
おわりに
次回のテーマは『プロジェクトの作成』です。
よかったら Twitter フォローしてね。@_rema424