フリーキーズ | 独学プログラミング

Go言語をインストールしてGOROOT/GOPATHを設定しよう!初心者向けガイド

リンドくん

リンドくん

先生、Go言語を勉強したいんですけど、インストールから躓いてます...
GOROOT?GOPATH?なんだか難しそうで...

たなべ

たなべ

心配しないで!最初は確かに設定項目が多くて戸惑うよね。
でも最近はGoのインストール時に内包されるからあまり気にしなくていいかもね。念のため一緒に理解していこう!

プログラミングを学ぶ上で、Go言語は今注目を集めている言語の一つです。その理由は、シンプルで読みやすい文法と、高いパフォーマンスを両立しているからです。
しかし、多くの初心者がGo言語を始める前に立ちはだかるのが「環境構築」という壁なのではないでしょうか?

特に「GOROOT」「GOPATH」といった専門用語が出てくると、「難しそう...」と感じてしまう方も多いと思います。でも安心してください。
この記事では、プログラミング初心者の方でも確実にGo言語の環境を構築できるよう、ステップバイステップで丁寧に解説していきます。

プログラミング学習でお悩みの方へ

HackATAは、エンジニアを目指す方のためのプログラミング学習コーチングサービスです。 経験豊富な現役エンジニアがあなたの学習をサポートします。

✓ 質問し放題

✓ β版公開中(2025年内の特別割引)

HackATAの詳細を見る

Go言語とは?なぜGOROOT/GOPATHが必要なのか

リンドくん

リンドくん

そもそもGo言語って何が良いんですか?他の言語とどう違うんでしょう?

たなべ

たなべ

Go言語はGoogleが開発した言語で、シンプルさと高速性を両立してるんだ。
クラウドやバックエンド開発でよく使われていて、DockerやKubernetesもGo言語で作られているんだよ。

Go言語の特徴

Go言語(別名Golang)は2009年にGoogleで開発されたプログラミング言語です。主な特徴として以下が挙げられます。

  • シンプルな文法 → 覚えやすく、読みやすいコード
  • 高速なコンパイル → 開発サイクルが短縮できる
  • 並行処理が得意 → ゴルーチンという仕組みで効率的な並行処理が可能
  • 静的型付け → バグを事前に発見しやすい

GOROOT/GOPATHが必要な理由

Go言語を使うために「GOROOT」と「GOPATH」という概念を理解する必要があります。

GOROOT(ゴールート)

  • Go言語本体がインストールされている場所を指す
  • Go言語の標準ライブラリやコンパイラが含まれている
  • 通常は自動で設定される

GOPATH(ゴーパス)

  • 自分が作成するGoプロジェクトの作業場所を指す
  • 外部パッケージ(ライブラリ)もここに保存される
  • 開発者が任意の場所に設定できる

つまり、GOROOTは「Go言語の道具箱がある場所」、GOPATHは「自分の作業机がある場所」と考えると分かりやすいでしょう。

【Windows編】Go言語のインストール手順

ステップ1 公式サイトからダウンロード

まず、Go言語の公式サイトにあるダウンロードページにアクセスします。

※2025年7月現在の情報です。

  1. このページの1番左にあるWindowsのgo1.24.5.windows-amd64.msiのリンクを見つける(バージョンは最新ならなんでもOK)
  2. Windows版のインストーラ(.msiファイル)をダウンロード
  3. 最新の安定版を選択することを推奨します

ステップ2 インストーラの実行

ダウンロードしたファイルをダブルクリックしてインストールを開始します。

特別な理由がない限り、デフォルトの設定でインストールを進めてください。
インストール中に以下の項目が自動で設定されます。

  • GOROOT: C:\Go ※違うパスの場合もありますが基本はデフォルトでOK
  • PATH環境変数: Go言語のコマンドが使えるように自動追加

ステップ3 インストールの確認

インストールが完了したら、コマンドプロンプトを開いて確認してみましょう。

go version

正しくインストールされていれば、以下のような表示が出ます。

go version go1.24.5 windows/amd64

ステップ4 GOPATHの設定(任意)

WindowsでGOPATHを設定する方法は以下です。

  1. 「システムのプロパティ」→「環境変数」を開く
  2. 「新規」ボタンをクリック
  3. 変数名: GOPATH
  4. 変数値: C:\Users\[ユーザー名]\go(任意の場所でOK)

【Mac/Linux編】Go言語のインストール手順

リンドくん

リンドくん

MacやLinuxでのインストールも同じような感じですか?

たなべ

たなべ

基本的な流れは同じだけど、MacならHomebrew、Linuxならパッケージマネージャーを使う方法もあるよ。 より簡単にインストールできるから紹介するね。

Mac環境でのインストール

方法1 Homebrewを使用(推奨)

Homebrewの公式サイトへアクセスし、一番上にあるコマンドをコピーして、ターミナルで実行すればインストールできます。

# Homebrewでインストール
brew install go

# インストール確認
go version

方法2 公式インストーラを使用

  1. 公式サイトから macOS版をダウンロード(Apple SilliconならARMです)
  2. .pkgファイルを実行してインストール
  3. ターミナルで確認 go version

Linux環境でのインストール

Ubuntu/Debian系の場合

# パッケージマネージャーでインストール
sudo apt update
sudo apt install golang # ←Ubuntu24.04以降、それ以前ならsudo apt install golang-go

# インストール確認
go version

CentOS/RHEL系の場合

# パッケージマネージャーでインストール
sudo yum install golang

# インストール確認
go version

Mac/LinuxでのGOPATH設定

シェルの設定ファイル(.bashrc.zshrcなど)に以下を追加してください。

# GOPATHの設定
export GOPATH=(go env GOPATH)
export PATH=$PATH:$GOPATH/bin

追加したら設定を反映させます。

source ~/.bashrc  # または ~/.zshrc

環境変数の確認と設定のポイント

重要な環境変数の確認方法

Go言語の開発に必要な環境変数が正しく設定されているか確認してみましょう。

# Go関連の環境変数をすべて表示
go env

# 特定の変数のみ確認
go env GOROOT
go env GOPATH
go env GOBIN

正しい設定例

理想的な設定は以下のようになります。

GOROOT=/usr/local/go        # Go言語本体の場所, Homebrewでインストールした場合はHomebrew直下
GOPATH=/home/user/go        # 作業ディレクトリ
GOBIN=/home/user/go/bin     # 実行ファイルの場所

よくある設定ミスと対処法

問題1: GOPATHが設定されていない

# 一時的な設定(セッション中のみ有効)
export GOPATH=$HOME/go

# 恒久的な設定(シェル設定ファイルに追加)
echo 'export GOPATH=$HOME/go' >> ~/.bashrc

問題2: PATHにGo関連のディレクトリが含まれていない

# GOROOTのbinディレクトリをPATHに追加
export PATH=$PATH:/usr/local/go/bin

# GOPATHのbinディレクトリもPATHに追加
export PATH=$PATH:$GOPATH/bin

初心者向け!最初のGoプログラムを動かしてみよう

リンドくん

リンドくん

環境ができました!早速何かプログラムを書いて動かしてみたいです!

たなべ

たなべ

素晴らしい!まずはHello Worldから始めよう。 Go言語の基本的な書き方も一緒に覚えられるよ。

ワークスペースの準備

まず、Go言語用の作業ディレクトリを作成しましょう。

# GOPATHディレクトリの作成
mkdir -p $GOPATH/src/hello
cd $GOPATH/src/hello

Hello Worldプログラムの作成

main.goというファイルを作成し、以下のコードを書いてみましょう。

package main

import "fmt"

func main() {
    fmt.Println("Hello, Go World!")
    fmt.Println("Go言語の環境構築が完了しました!")
}

コードの説明

  • package main → 実行可能なプログラムの開始点
  • import "fmt" → 標準出力用のパッケージを読み込み
  • func main() → プログラムのエントリーポイント
  • fmt.Println() → 文字列を出力する関数

プログラムの実行

作成したプログラムを実行してみましょう。

# 直接実行する方法
go run main.go

# ビルドしてから実行する方法
go build main.go
./main        # Linux/Mac
main.exe      # Windows

成功すると以下のような出力が表示されます。

Hello, Go World!
Go言語の環境構築が完了しました!

Go Modulesと最新の開発方法

リンドくん

リンドくん

先生、Go Modulesって何ですか?GOPATHとは違うんですか?

たなべ

たなべ

Go 1.11からGo Modulesという新しい仕組みが導入されて、今はGOPATHを使わない開発方法が主流になってるんだ。

Go Modulesとは

Go Modules(ゴーモジュールズ)は、Go 1.11以降で導入された依存関係管理システムです。これにより、以下のメリットがあります。

  • GOPATHに依存しない開発が可能
  • バージョン管理された依存関係の管理
  • 再現可能なビルドの実現

Go Modulesを使った現代的な開発方法

# 任意の場所にプロジェクトディレクトリを作成
mkdir my-go-project
cd my-go-project

# Go Moduleの初期化
go mod init my-go-project

# main.goファイルを作成

go.modファイルが自動生成され、プロジェクトの情報と依存関係が管理されます。

module my-go-project

go 1.24.5

外部パッケージの使用例

package main

import (
	"fmt"
	"net/http"
	"github.com/gorilla/mux"
)

func HomeHandler(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintln(w, "Welcome to the Home Page!")
}

func main() {
	r := mux.NewRouter()
	r.HandleFunc("/", HomeHandler)
	http.ListenAndServe(":8080", r)
}

外部パッケージを使用する場合

# 依存関係を自動で解決・追加
go mod tidy

これにより、go.modgo.sumファイルが更新され、依存関係が管理されます。

従来のGOPATHと新しいGo Modulesの使い分け

項目GOPATHGo Modules
推奨度旧方式現在の標準
プロジェクト場所$GOPATH/src以下任意の場所
依存関係管理手動自動
バージョン管理なしあり

学習段階では両方を理解することが重要ですが、実際の開発では Go Modules を使用することを強く推奨します。

まとめ

リンドくん

リンドくん

Go言語の環境構築、思ったより簡単でした!これで開発が始められますね。

たなべ

たなべ

その通り!環境構築は最初の一歩だけど、とても重要な基盤なんだ。
これからGo言語の魅力をたくさん発見していってほしいな。

この記事では、Go言語のインストールからGOROOT/GOPATHの設定、そして最新のGo Modulesまで、幅広くカバーしました。重要なポイントを振り返ってみましょう。

主要なポイント

  • Go言語は環境構築が比較的シンプルで、一度設定すれば快適に開発できる
  • GOROOTはGo言語本体の場所、GOPATHは作業ディレクトリの場所
  • Go Modulesにより、現代的で柔軟な開発が可能
  • 段階的に学習することで、無理なくスキルアップできる

Go言語は、シンプルながらも強力な言語です。環境構築という最初のハードルを越えることで、効率的で楽しいプログラミング体験が待っています。

次のステップとして、Go言語の基本文法や、より実践的なWebアプリケーション開発にも挑戦してみてください。
Go言語の世界は広く、学べば学ぶほど新しい発見があります。一緒にGo言語マスターを目指しましょう!

この記事をシェア

関連するコンテンツ