0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

macOSでのGoのインストール手順と Go Modules について

Posted at

この記事では、macOSに Homebrew を利用して Go をインストールする方法と、Go の依存管理システムである Go Modules について、解説します。さらに、実際のプロジェクトでのモジュール初期化の例を紹介します。


前提条件

  • macOS (例: macOS Sequoia)
  • Homebrew が未導入の場合は、先にインストールしてください

1. Homebrew のインストール

Homebrew がまだインストールされていない場合、ターミナルを開き、以下のコマンドを実行してインストールします。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrew のインストールが完了すれば、brew コマンドが利用可能になります。
すでにインストール済みの場合は、このステップはスキップしてください。


2. Go のインストール

Homebrew を使って、最新の安定版 Go をインストールします。
ターミナルで以下のコマンドを実行してください。

brew install go

Homebrew が自動的に Go をダウンロードし、インストールしてくれます。


3. インストールの確認

Go が正しくインストールされたか、以下のコマンドで確認します。

go version

たとえば、以下のような出力が得られれば成功です。

go version go1.23.6 darwin/amd64

また、which go コマンドで Go の実行ファイルの場所も確認できます。

which go

出力例:

/usr/local/bin/go

備考:
出力されたパスが正しければ、Homebrew 経由でインストールされた Go が正しく PATH に設定されています。Intel Mac と Apple Silicon でのパスの違いに注意してください。


4. Go Modules とは?

Go 1.11 以降、Go の依存管理システムとして Go Modules が標準で導入されています。
ここでは、Go Modules について簡単に解説します。

Go Modules の概要

  • 目的:
    プロジェクトで利用する外部パッケージ(ライブラリ)のバージョンや依存関係を管理するための仕組みです。
    以前は GOPATH を使って一括管理していましたが、Go Modules ではプロジェクト単位で管理できるため、より柔軟かつ再現性のあるビルド環境を実現します。

  • 特徴:

    • プロジェクト単位の管理:
      各プロジェクトに go.mod ファイルが作成され、どのライブラリのどのバージョンを使用しているかが明示されます。
    • 再現性のあるビルド:
      チーム開発やCI/CD環境で、全員が同じ依存関係でビルドできるため、環境依存の問題を防げます。
    • シンプルな操作:
      go mod init でモジュールを初期化し、go get で必要なパッケージを追加するなど、コマンド操作が簡単です。

5. プロジェクトでの Go Modules の利用準備

ここでは、実際のプロジェクト例として、GitHub 上のリポジトリ github.com/your-username/project_name のサブディレクトリ tool を対象に、Go Modules を初期化する手順を紹介します。

プロジェクト構成例

project_name/ # プロジェクト全体
├── .git/
├── README.md
└── tool/ # Go コードのあるディレクトリ
    ├── Dockerfile
    ├── go.mod       ← 初期化対象
    └── src/
        └── main.go

モジュールの初期化

  1. ターミナルで tool ディレクトリに移動します。

    cd project_name/tool
    
  2. 以下のコマンドを実行して、Go モジュールを初期化します。
    リポジトリの構成に合わせて、モジュール名は github.com/your-username/project_name/tool とします。

    go mod init github.com/your-username/project_name/tool
    

    実行結果は次のようになります。

    go: creating new go.mod: module github.com/your-username/project_name/tool
    go: to add module requirements and sums:
            go mod tidy
    
  3. ls -la でファイル一覧を確認すると、go.mod ファイルが生成されていることがわかります。

    ls -la
    

    出力例:

    total 24
    drwxr-xr-x   6 user  staff   192  Feb  8 06:46 .
    drwxr-xr-x   6 user  staff   192  Feb  8 06:46 ..
    -rw-r--r--   1 user  staff    62  Feb  8 06:46 go.mod
    drwxr-xr-x   2 user  staff    64  Feb  8 05:53 src
    -rw-r--r--   1 user  staff     0  Feb  8 05:54 Dockerfile
    

補足:
「to add module requirements and sums: go mod tidy」とのメッセージは、今後依存パッケージを追加する際に go mod tidy コマンドを実行することで、不要な記述の削除や依存関係の整理が行えることを示しています。


6. まとめ

この記事では、macOS に Homebrew を利用して Go をインストールする手順と、Go Modules の基本概念および実際のプロジェクトでのモジュール初期化方法について解説しました。

  • Homebrew のインストール:
    未導入の場合、上記の手順で Homebrew をインストールしてください。

  • Go のインストール:
    brew install go を実行して最新の Go をインストール。

  • 動作確認:
    go versionwhich go コマンドでインストール状況をチェック。

  • Go Modules の概要:
    プロジェクト単位で依存管理を行い、再現性のあるビルド環境を実現する仕組みです。

  • モジュール初期化:
    サブディレクトリ toolgo mod init github.com/your-username/project_name/tool を実行し、go.mod ファイルを生成。

これで macOS 上に Go の開発環境が整い、プロジェクトごとに依存関係を管理できるようになりました。ぜひこれらの手順を参考に、Go を使った開発を進めてみてください。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?